when then sirve reemplazar que postgres por para example blank sql-server postgresql null

sql server - then - Cuál es el equivalente de PostgreSQL para ISNULL()



reemplazar null por 0 postgresql (5)

¿Cómo emulo la funcionalidad ISNULL ()?

SELECT (Field IS NULL) FROM ...

En MS SQL-Server, puedo hacer:

SELECT ISNULL(Field,''Empty'') from Table

Pero en PostgreSQL me sale un error de sintaxis. ¿Cómo ISNULL() la funcionalidad ISNULL() ?


Crea la siguiente función

CREATE OR REPLACE FUNCTION isnull(text, text) RETURNS text AS ''SELECT (CASE (SELECT $1 " "is null) WHEN true THEN $2 ELSE $1 END) AS RESULT'' LANGUAGE ''sql''

Y funcionará.

Puede crear diferentes versiones con diferentes tipos de parámetros.


Tratar:

SELECT COALESCE(NULLIF(field, ''''), another_field) FROM table_name


Use COALESCE() lugar:

SELECT COALESCE(Field,''Empty'') from Table;

Funciona como ISNULL , aunque proporciona más funcionalidad. Coalesce devolverá el primer valor no nulo en la lista. Así:

SELECT COALESCE(null, null, 5);

devuelve 5, mientras

SELECT COALESCE(null, 2, 5);

devuelve 2

Coalesce tendrá una gran cantidad de argumentos. No hay máximo documentado. Lo probé con 100 argumentos y lo logré. Esto debería ser suficiente para la gran mayoría de las situaciones.


SELECT CASE WHEN field IS NULL THEN ''Empty'' ELSE field END AS field_alias

O más idiomático:

SELECT coalesce(field, ''Empty'') AS field_alias