以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]日期空值  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=130098)

--  作者:kaiyu
--  发布时间:2019/1/13 10:32:00
--  [求助]日期空值

表中数据有日期型字段,用SQL的insert  into 语名插入数据,这时如果日期数据为空,那么插入SQL后,发现这个数据字段就变成了1900-01-01,有没有办法让它是空值


--  作者:wyz20130512
--  发布时间:2019/1/13 10:48:00
--  
给个截图看看。


--  作者:kaiyu
--  发布时间:2019/1/13 10:59:00
--  

 插入语句: cmd.CommandText = "ins  ert into {cw_wl入库表} (生产日期,入库单号,经办人,采购单号,仓库代码,仓库名称,保管人,入库类型,审核人,审核日期,供应商名称,审核标志,供应商ID,工厂,仓库类型,有效日期,车牌号,票据单号,备注) values  ( \'" & r("生产日期") & "\',\'" & r("入库单号") & "\',\'" & r("经办人") & "\', \'" & r("采购单号") & "\',\'" & r("仓库代码") &  "\',\'" & r("仓库名称") & "\',\'" & r("保管人") & "\',\'" & r("入库类型") & "\',\'" & r("审核人") & "\', \'" & r("审核日期") & "\' ,\'" & r("供应商名称") & "\',\'" & r("审核标志") & "\',\'" & r("供应商ID") & "\',\'" & r("工厂") & "\',\'" & r("仓库类型") & "\' ,\'" & r("有效日期") & "\',\'" & r("车牌号") & "\',\'" & r("票据单号") & "\',\'" & r("备注") & "\')"

在表中本来生产日期和有效日期都为空,插入数据后就变成这样了

结果:

图片点击可在新窗口打开查看此主题相关图片如下:dc5fca48-02d8-4015-a92f-44f6bed14497.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2019/1/13 21:41:00
--  

要判断一下值的,比如

 

"insert into {表A} (第一列, 第二列) values (\'123\', \'abc\')"

 

如果是空值,要这样

 

"insert into {表A} (第一列, 第二列) values (\'123\', null)"

 

写成代码,要这样写

 

"insert into {表A} (第一列, 第二列) values (\'123\', " & iif(变量 is nothing, "null", "\'" & 变量值 & "\'") & ")"


--  作者:kaiyu
--  发布时间:2019/1/14 8:28:00
--  
甜老师,这样写其它数据没问题,日期型数据用“null"提示字符串转换成日期或时间失败
--  作者:有点甜
--  发布时间:2019/1/14 8:56:00
--  
以下是引用kaiyu在2019/1/14 8:28:00的发言:
甜老师,这样写其它数据没问题,日期型数据用“null"提示字符串转换成日期或时间失败

 

直接写null,不要加单引号\'null\',请认真看4楼。