SET LANGUAGE 简体中文 SELECT SUM(Price), SUM(Cost), SUM(Freight + Freight2) FROM TheOrderList WHERE MONTH(OrderTime) = DATEPART(mm, '2018-08-12 12:00:00') AND YEAR(OrderTime) = DATEPART(yy, '2018-08-12 12:00:00')
有些电脑上能能运行,有些电脑上报错,从字符串转换日期和/或时间时,转换失败。
是什么情况
我感觉是客户端版本或者编码的问题
前几天都不会出现这种情况,昨天突然就出现了...
@bgh: 既然你说数据源是一样的,那基本就是客户端的问题了,在时间字符串外面加一层cast('2018-08-12 12:00:00' as date)试试。
@Grom: 还是报同样的错误..
@bgh: 还是建议先查下转错的数据吧
select * from table where isnull(OrderTime,'')=''
我觉得是month和year出错,因为这个字段和数据可能非法格式
碰到这种情况,我们公司一般就把报错的电脑扔了。
毕竟,扔人是违法劳动法的。
....
是不是有时间为空的数据?
没有,同样的数据,一些电脑可以,一些电脑不可以
@bgh: 电脑扔了
@北妄。: ....
报什么错?
– dudu 6年前@dudu: 从字符串转换日期和/或时间时,转换失败。
– bgh 6年前