¿Cómo compruebo en Postgres si un campo es vacío o nulo?

publicado por: Anonymous

Tengo una tabla de Postgres (de un proyecto de Django) en la que hay distintos registros. Todos los registros tienen un campo nombre que es de tipo carácter. Sin embargo, hay casos en los que este valor está en blanco.

Lo que me interesa es saber cuáles de estos registros tienen el campo nombre vacío.

Así pues: ¿cómo miro en Postgres qué registros tienen un campo de tipo cadena en blanco?

solución

Para mirar si es null:

SELECT * FROM bla WHERE nombre IS NULL
--                             ^^^^^^^

(Nótese que es incorrecto decir WHERE nombre = NULL, pues NULL no es “igual” a NULL. Véase el manual en Comparison Operators).

Para mirar si es null o vacío se complica un poco más:

SELECT * FROM bla WHERE (nombre = '') IS NOT FALSE
--                      ^^^^^^^^^^^^^^^^^^^^^^^^^^

Extraído de Best way to check for “empty or null value”.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *