postgresql пустой массив - PullRequest
2 голосов
/ 03 июня 2011

У меня есть следующая таблица в PostgreSQL:

   Column    |          Type          |                         Modifiers
-------------+------------------------+-----------------------------------------------------------
 description | text                   | not null
 sec_r       | integer[]              |

Мои два массива целых чисел sec_r имеют некоторые поля, которые имеют "нулевые" значения, но я думаю, что это не ноль?

Всякий раз, когда я пытаюсь select * from this table where sec_r = null, я получаю 0 строк.

|  description     |  sec_r  |
+------------------+---------+
| foo bar foo bar  |         |
| foo bar foo bar  | {1,2,3} |
| foo bar foo bar  |         |
| foo bar foo bar  | {9,5,1} |
(4 rows)

Выполнение select * from TheTable, где 1 = ANY (sec_r) возвращает правильные строки.

Как выбрать строки, в которых массив пуст?

Ответы [ 2 ]

5 голосов
/ 03 июня 2011

Вы должны использовать IS NULL, а не = NULL в SQL.

Попытка:

SELECT * FROM the_table WHERE sec_r IS NULL
1 голос
/ 03 июня 2011

вы ищете ЕСТЬ НУЛЬ.

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