En MS SQL-Server, puedo hacer:
SELECT ISNULL(Field,'Empty') from Table
Pero en PostgreSQL me sale un error de sintaxis. ¿Cómo emulo la ISNULL()
funcionalidad?
sql-server
postgresql
null
Byron Whitlock
fuente
fuente
ISNULL
toma dos argumentos y devuelve el segundo es el primero esnull
, de lo contrario el primero.Respuestas:
O más idiomático:
fuente
coalesce
. (PD: También puedes hacer eso en MS SQL Server).coalesce
está en el estándar SQL,isnull
siendo una función específica de MS que esencialmente tienecoalesce
solo dos parámetros.Use en su
COALESCE()
lugar:Funciona de manera similar
ISNULL
, aunque proporciona más funcionalidad. Coalesce devolverá el primer valor no nulo de la lista. Así:devuelve 5, mientras
devuelve 2
La fusión tomará una gran cantidad de argumentos. No hay un máximo documentado. Lo probé con 100 argumentos y tuvo éxito. Esto debería ser suficiente para la gran mayoría de las situaciones.
fuente
fuente
ISNULL
se refieren sus comentaristas, perofield IS NULL
da un valor booleano, mientras queISNULL
en SQL Server funciona comoCOALESCE
: devuelve uno de los noNULL
valores. Esta respuesta es terriblemente incorrecta. Consulte la documentación:ISNULL
.Tratar:
fuente
Crea la siguiente función
Y funcionará.
Puede crear diferentes versiones con diferentes tipos de parámetros.
fuente