PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Zmień pusty ciąg na NULL, gdy kolumna ma ograniczenie DATE

Użyj NULLIF w swoim oświadczeniu INSERT:

INSERT INTO your_table (cols..., some_date) VALUES (..., NULLIF(your_input_field, ''))

Jeśli chcesz wstawić NULL, jeśli dana wartość jest dowolną z wielu wartości, najłatwiej będzie użyć instrukcji CASE:

INSERT INTO your_table (cols..., some_date)
VALUES (..., CASE WHEN your_input_field IN ('', '#', '-', '--', '??') THEN NULL ELSE your_input_field END)

Może zrobić to samo z tablicą, jeśli to łatwiejsze:

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. Jak zwrócić jeden element z string_to_array() w PostgreSQL 8.4?

  2. Dynamiczne kolumny tabeli oparte na preferencjach użytkownika

  3. Wyliczone typy z ActiveRecord i Postgresql

  4. uzyskać dostęp do aliasów kolumn w klauzuli WHERE w postgresql

  5. Jak dopasować elementy w tablicy typu złożonego?