Gunakan NULLIF
dalam pernyataan INSERT Anda:
INSERT INTO your_table (cols..., some_date) VALUES (..., NULLIF(your_input_field, ''))
Jika Anda ingin menyisipkan NULL jika nilai yang dimaksud adalah salah satu dari sejumlah nilai, mungkin paling mudah menggunakan pernyataan CASE:
INSERT INTO your_table (cols..., some_date)
VALUES (..., CASE WHEN your_input_field IN ('', '#', '-', '--', '??') THEN NULL ELSE your_input_field END)
Bisa melakukan hal yang sama dengan array juga, jika itu lebih mudah:
INSERT INTO your_table (cols..., some_date)
VALUES (..., CASE WHEN your_input_field = ANY('{"",#,-,--,??}'::TEXT[]) THEN NULL ELSE your_input_field END)