ASP教程:通过ASP代码将SQL某个datetime字段赋予空值
在ASP对SQL数据库操作时,往往会遇到以下问题,例如:
SQL中 表1 addtime字段属性为datetime,允许为空。我们如果用以下ASP代码赋予addtime字段空值,代码例如:
Rs.open "select addtime form 表1 where 条件",conn,1,3
if not Rs.eof then
Rs("addtime") = ""
end if
Rs.close
当执行上面片段代码,ASP报错并提示“数据类型不匹配”,即使我们设置了addtime字段允许为空,这样写也不能直接赋予SQL字段为空值,但如果我们换成下面的代码来执行看看会是什么结果:
conn.execute("update 表1 set addtime='' where 条件")
执行代码虽然是成功了,但SQL表1中addtime值变成了1900-01-01 00:00:00 如果想让addtime字段变为NULL,那么要将代码改一下,变成这样:
conn.execute("update 表1 set addtime=NULL where 条件")
如果我们要使用addtime当查询条件,查询SQL表1的数据,那么就不能使用 where addtime='' 了,这样什么都查询不到,应该使用下面的SQL查询语句:
select * from 表1 where addtime IS NULL 如果不为NULL后面就变为 where addtime IS NOT NULL
如果ASP将addtime字段提取出来并且判断是否为NULL则使用:
例如已经定义变量date1,将选择后的addtime赋予date1,ASP代码应该为
if IsNull(date1) then
response.write("变量date1值为NULL")
else
response.write("变量date1值不为NULL")
end if
评论回复