Sử dụng NULLIF
trong câu lệnh INSERT của bạn:
INSERT INTO your_table (cols..., some_date) VALUES (..., NULLIF(your_input_field, ''))
Nếu bạn muốn chèn NULL nếu giá trị được đề cập là bất kỳ giá trị nào trong số các giá trị, có thể dễ dàng nhất là sử dụng câu lệnh CASE:
INSERT INTO your_table (cols..., some_date)
VALUES (..., CASE WHEN your_input_field IN ('', '#', '-', '--', '??') THEN NULL ELSE your_input_field END)
Cũng có thể làm điều tương tự với một mảng, nếu điều đó dễ dàng hơn:
INSERT INTO your_table (cols..., some_date)
VALUES (..., CASE WHEN your_input_field = ANY('{"",#,-,--,??}'::TEXT[]) THEN NULL ELSE your_input_field END)