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 时发生语法错误。