sql >> Database >  >> RDS >> PostgreSQL

Wijzig de lege tekenreeks in NULL wanneer de kolom DATE-beperking heeft

Gebruik NULLIF in uw INSERT-instructie:

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

Als u NULL wilt invoegen als de betreffende waarde een van een aantal waarden is, is het misschien het gemakkelijkst om een ​​CASE-instructie te gebruiken:

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

Zou hetzelfde kunnen doen met een array, als dat makkelijker is:

INSERT INTO your_table (cols..., some_date)
VALUES (..., CASE WHEN your_input_field = ANY('{"",#,-,--,??}'::TEXT[]) THEN NULL ELSE your_input_field END)


  1. link weergeven in php

  2. Oracle Run Procedure met één in-parameter en meerdere uit-parameter

  3. Analyseer Big Data met Microsoft Azure Tools

  4. Hoe voorkom je dat een impasse op één knooppunt het hele cluster laat crashen?