2016-09-08 3 views
0

В hstore docs есть документально оператор, чтобы проверить, если hstore содержит все указанные клавиши:Найти все где hstore не содержит указанные ключи

Оператор: hstore? & текст []

Описание: Входит ли в hstore все указанные ключи?

Пример: 'a => 1, b => 2' :: hstore? & ARRAY [ «а», «б»]

Результат: => т

Мой прецеденту прямо противоположен: Я хочу, чтобы проверить, если hstore делает не содержат все указания ключи.

Таким образом, 'a=>1,b=>2'::hstore SOME_OPERATOR ARRAY['b','c'] должен возвращать значение false, поскольку 'a=>1,b=>2' содержит b.

Я пробовал !?&, но неудивительно, что это не сработало. Есть ли такой оператор? Или метод, чтобы отрицать документированный?

ответ

1

Отрицание состояния и изменить оператор ?| так, что он не соответствует любых ключей из массива:

select * 
from some_table 
where not (some_column ?| ARRAY['b','c']) 
+0

@ TheCha͢mp: спасибо за обновление. –

Смежные вопросы