Альтернатива синтаксису @> '["TEXT"]' - PullRequest
0 голосов
/ 26 октября 2018

У меня есть JSONB столбец с массивом в нем. У меня есть рабочий запрос ниже.

Однако моя языковая реализация терпит неудачу из-за использования двойных кавычек около EXAMPLESTRING.

Вот запрос:

SELECT
    b0."id",
    b0."base_sku",
    b0."name",
    b0."logo",
    b0."email",
    b0."active",
    b0."building_group_id",
    b0."operating_region_id",
    b0."building_package_id",
    b0."metadata",
    b0."location",
    b0."inserted_at",
    b0."updated_at"
FROM "buildings" AS b0
WHERE (b0."metadata"->'google_place_ids' @> '["EXAMPLESTRING"]')
AND (b0."active" = TRUE)
LIMIT 1

Я ищу альтернативу этой части запроса:

@> '["EXAMPLESTRING"]')

Есть ли другой способ написать это?

1 Ответ

0 голосов
/ 27 октября 2018

Вероятно, у вас будет очень неприятное время, пока вы не исправите эту основную проблему с помощью своего фреймворка или драйвера.

Но вы можете обойти эту проблему следующим образом:

@> jsonb_build_array('EXAMPLESTRING')

Выможет также использовать функцию 'to_jsonb', но это может привести к появлению дополнительных синтаксических проблем, которые может заткнуть ваш драйвер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...