В прошлом посте я показывал, один из вариантов бессмысленного усложнения запроса использованием CASE, сегодня - продолжение.

CASEТут представлена попытка заNULLить значение, если оно равно чему-то.
Но ведь в PostgreSQL есть функция nullif, которая делает ровно то же самое:
NULLIF(значение1, значение2)Функция
NULLIFвыдаёт значение NULL, еслизначение1равнозначение2; в противном случае она возвращаетзначение1. Это может быть полезно для реализации обратной операции кCOALESCE. В частности, для примера, показанного выше:
SELECT NULLIF(value, '(none)') ...В данном примере если
valueравно(none), выдаётся null, а иначе возвращается значениеvalue.
То есть в примере выше стоит переписать короче и понятнее:
, nullif(sdate, '1900-01-01') sdate
, nullif(mdate, '1900-01-01') mdate