Използвайте NULLIF
във вашия оператор INSERT:
INSERT INTO your_table (cols..., some_date) VALUES (..., NULLIF(your_input_field, ''))
Ако искате да вмъкнете NULL, ако въпросната стойност е някоя от редица стойности, може да е най-лесно да използвате оператор CASE:
INSERT INTO your_table (cols..., some_date)
VALUES (..., CASE WHEN your_input_field IN ('', '#', '-', '--', '??') THEN NULL ELSE your_input_field END)
Може да направи същото и с масив, ако е по-лесно:
INSERT INTO your_table (cols..., some_date)
VALUES (..., CASE WHEN your_input_field = ANY('{"",#,-,--,??}'::TEXT[]) THEN NULL ELSE your_input_field END)