При написании запросов Postgres, ограничения обычно пишутся как
WHERE a = $(a)
или WHERE b IN $(b:csv)
, если вы знаете, что это список. Однако, если значение равно null
, ограничение должно быть записано WHERE x IS NULL
. Можно ли получить запрос для автоматического форматирования, если значение равно нулю или нет?
Скажи, что я могу найти строки WHERE c = 1
. Если я знаю c
это 1
, я напишу запрос как
db.oneOrNone(`SELECT * FROM blah WHERE c = $(c), { c })
Но если c
окажется null
, запрос должен стать ...WHERE c IS NULL
.
Можно ли построить общий запрос наподобие WHERE $(c)
, и он будет автоматически форматироваться в WHERE c = 1
, если c
равен 1
, и WHERE c IS NULL
, если c
установлен в ноль?