bug记录,写sql的时候用到了convert将varchar转换为datetime类型,使用convert(datetime,字段),最后报错“从varchar数据类型到datetime数据类型的转换产生一个超出该范围的值”
经排查,where后面的条件查询出来并无任何数据,一条数据都没有,但是他就是报这个错,
具体他为啥一条数据都没有还进行了convert转换,这个不得而知,网上也没搜到具体的资料来解释。
解决办法,在where后面再加一个条件, isdate(字段) =1 ,这个条件采用isdate函数,就是判断这个字段的值是否可以被转换成datetime类型,1表示可以,0表示不行,加上条件过后问题解决。
仅做问题记录,仅供参考