读书人

一条sql语句错误“从字符串向 datet

发布时间: 2012-09-07 10:38:15 作者: rapoo

一条sql语句,异常“从字符串向 datetime 转换时失败。”

sql语句如下:
select LeaveTime from tbTouristRecord where EnterTime < dateadd(hour,-1,getdate()) and LeaveTime=cast('NULL' as datetime)
我想做的,就是从tbTouristRecord表中查询LeaveTime,条件是EnterTime在当前时间的一个小时以前并且LeaveTime字段为“NULL”。LeaveTime字段在数据库里面是datetime格式的。我试了下,在cast的时候,如果把不是NULL的字符串作为参数,是没问题的,但是用"NULL"的时候,就出现题目的异常。但是我的数据库里面,LeaveTime字段确实有很多是NULL,这个是我的判断条件,请问,在查询dateTime格式的字段是,NULL怎么处理?

[解决办法]
cast(NULL as datetime)

[解决办法]
NULL 值是不能等于的。 is null
[解决办法]

探讨

引用:

你写的'null'是字符串,这个和空值(null)完全是两个概念

恩,对的,我发现这个问题了。但是依然没有解决到问题。等同于这样的问题,我的leaveTime字段是datetime格式,如果没有数据,在sql2005里面,就是NULL,但是我查询的时候:select * from tbTouristRecord where leaveTime=NULL,查出……

读书人网 >SQL Server

热点推荐