character varying en postgresql
Seleccione la fecha(marca de tiempo) de PostgreSQL como cadena(char), tenga cuidado con el valor NULO (3)
¿Estás poniendo tu AS
en el caso?
Tratar:
SELECT
CASE WHEN last_post IS NULL THEN ''''
ELSE to_char(last_post, ''MM-DD-YYYY HH24:MI:SS'') END AS last_post,
content
FROM topic;
Aunque no he probado la consulta.
Quiero seleccionar una fecha (mi columna es un tipo de marca de tiempo). Pero cuando en la columna es una fecha NULA, quiero devolver una cadena vacía. ¿Como hacer esto? Yo escribí esto:
SELECT
CASE WHEN to_char(last_post, ''MM-DD-YYYY HH24:MI:SS'') IS NULL THEN ''''
ELSE to_char(last_post, ''MM-DD-YYYY HH24:MI:SS'') AS last_post END
to_char(last_post, ''MM-DD-YYYY HH24:MI:SS'') AS last_post, content
FROM topic;
Pero me muestra algunos errores, realmente no sé por qué:
ERROR: syntax error at or near "as"
LINE 1: ...ELSE to_char(last_post, ''MM-DD-YYYY HH24:MI:SS'') AS last_po...
^
El uso de la función COALESCE()
es el mejor enfoque, ya que simplemente intercambia un valor sustituto en el caso de un valor NULL. La legibilidad se mejora mucho también. :)
SELECT COALESCE(to_char(last_post, ''MM-DD-YYYY HH24:MI:SS''), '''') AS last_post, content FROM topic;
select coalesce(to_char(last_post, ''MM-DD-YYYY HH24:MI:SS''), '''') as last_post, content
from topic;