PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Thay đổi chuỗi trống thành NULL khi cột có ràng buộc DATE

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)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Viết khung dữ liệu gấu trúc nhanh chóng vào postgres

  2. Tạo thứ hạng trình tự có thứ tự trên truy vấn phức tạp

  3. Khi nào chúng ta có thể sử dụng số định danh thay cho tên của nó trong PostgreSQL?

  4. Tổng hợp postgres SQL / tổng hợp dữ liệu theo tuần với tổng số

  5. Ổ cứng thể rắn Intel SSD, hiện đã ra khỏi danh sách sh..err, shamed