我有一张postgreSQL表格,接受的日期格式为yyyy-mm-dd,如果传入的日期格式是''
(没有日期),则无法接受。可能会出现一些情况,''
会作为日期传递。有人可以帮我编写一个函数吗?检查传入的日期是否为'',然后将其替换为NULL,然后将其添加到数据库中。
我有一张postgreSQL表格,接受的日期格式为yyyy-mm-dd,如果传入的日期格式是''
(没有日期),则无法接受。可能会出现一些情况,''
会作为日期传递。有人可以帮我编写一个函数吗?检查传入的日期是否为'',然后将其替换为NULL,然后将其添加到数据库中。
使用nullif()
函数
insert into the_table (the_date_column)
values (nullif(?, ''))
或者进行更新
update the_table
set the_date_column = nullif(?, '');
case
表达式来检查这个。我正在使用 :arg
来表示输入的字符串 - 根据你所使用的编程语言进行更改:INSERT INTO mytable
(my_date_col)
VALUES (CASE LENGTH(:arg) WHEN 0 THEN NULL ELSE TO_DATE(:arg, 'yyyy-mm-dd' END)
update control_tracker set date='[regsub -all {\s} [string trim [regsub {\{.*} $whens1_12 ""]] "-" ]'
。 - Morpheus