[SQL Server]从字符串转换为 datetime 时发生语法错误
sql="selectcount(id)asonesfrom[data]whereemdate>'2009-01-01'backtimeisnotnullandDATEA...
sql="select count(id) as ones from [data] where emdate>'2009-01-01' backtime is not null and DATEADD(day,1,CONVERT(VarChar(100),backtime,23))<=arrivetime "这个句子也是,关键错误是这句:DATEADD(day,1,CONVERT(VarChar(100),backtime,23))<=arrivetime 其他的测试没有问题
数据库中 backtime 字段为字符串格式,arrivetime 是datetime 格式请求给与正确的语句,筛选 backtime 和 arrivetime 相差小于等于一天的数据集运行提示Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]从字符串转换为 datetime 时发生语法错误。 展开
数据库中 backtime 字段为字符串格式,arrivetime 是datetime 格式请求给与正确的语句,筛选 backtime 和 arrivetime 相差小于等于一天的数据集运行提示Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]从字符串转换为 datetime 时发生语法错误。 展开
2个回答
推荐于2018-05-07
展开全部
可能是backtime 字段有非日期格式的值
用isdate(backtime) 先查查data 表 backtime 字段是否有非法值
如果输入表达式是有效的日期,那么 ISDATE 返回 1;否则,返回 0。
用isdate(backtime) 先查查data 表 backtime 字段是否有非法值
如果输入表达式是有效的日期,那么 ISDATE 返回 1;否则,返回 0。
2013-08-05
展开全部
sql="select count(id) as ones from [data] where emdate>'2009-01-01' backtime is not null and DATEADD(day,1,backtime))<=arrivetime 如果varchar中存储的字串与日期格式相符,进行datetime运算时可以显示转换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询