Incognito
Incognito

Reputation: 20765

postgresql empty array

I have the following table in PostgreSQL:

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

My two array of integers sec_r have some fields that have "null" values, but I guess it isn't null?

Whenever I try to select * from this table where sec_r = null I get 0 rows.

|  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)

Doing select * from TheTable where 1 = ANY (sec_r) returns the correct rows however.

How do I select the rows where the array is blank?

Upvotes: 2

Views: 755

Answers (2)

David Chan
David Chan

Reputation: 7505

you are looking for IS NULL.

Upvotes: 2

Jonas
Jonas

Reputation: 128797

You should use IS NULL and not = NULL in SQL.

Try:

SELECT * FROM the_table WHERE sec_r IS NULL

Upvotes: 5

Related Questions