又被数据坑了

将对方抛过来的代表时间的varchar类型的数据转换为datetime类型存入数据库

写法 cast(datestr as datetime)  报错啦: “从字符串转换日期和/或时间时,转换失败。"

最后发现原因:

datestr中有的数据为‘abde’--肯定无法转换为datetime类型!!!!

正确的思路应先判断 datestr是否合法,此处用的是 isdate(expression)函数

函数用法很简单:

如果 expression 是有效的 datetimedatetime 值,则返回 1;否则,返回 0。

如果 expressiondatetime2 值,则 ISDATE 返回 0。

原文地址:https://www.cnblogs.com/mifeng/p/3544929.html