Chcę wybrać datę (moja kolumna jest typ sygnatury czasowej). Ale gdy w kolumnie jest data NULL, chcę zwrócić pusty ciąg. Jak to zrobić? Napisałem to:Wybierz datę (znacznik czasu) z PostgreSQL jako ciąg znaków (uwaga), uważaj na wartość NULL
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;
Ale to pokazuje mi jakieś błędy, naprawdę nie wiem, dlaczego:
ERROR: syntax error at or near "as"
LINE 1: ...ELSE to_char(last_post, 'MM-DD-YYYY HH24:MI:SS') AS last_po...
^
ten można uprościć do 'przypadku gdy last_post jest zerowy, a następnie '' else ...' –
@a_horse_with_no_name Masz rację, dzięki! Skoncentrowałem się tylko na przeniesieniu "AS ..." później i nie myślałem o uproszczeniu zapytania ... Naprawię to teraz! – Jerry
Teraz nie formatujesz daty zgodnie z przeznaczeniem. –