PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Променете празния низ на NULL, когато колоната има ограничение DATE

Използвайте 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)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Задаване на изчакване за свързване с PDO

  2. Бавно хибернация за придобиване на Postgres връзка

  3. Как да намерите интервала между две дати в PostgreSQL

  4. използвайки копие в postgresql?

  5. Как ръчно да актуализирате статистическите данни на таблици в PostgreSQL