在我的数据中,有一列名为'duedate'的varchar(5)格式的数据,其日期以如下格式存储:'20110725',即2011年7月25日,我是否有办法将其转换成日期格式?
cast(duedate as datetime)
这并不奏效
然后我试着把它转换为大数,然后再转换为日期时间
cast( cast(duedate as bigint) as datetime)
数学溢出错误
对不起,我搞错了,是varchar(50)--打字错误,非常感谢你们的帮助,我会尝试你们提到的事情。
如果该列真的是varchar (5 ),那么它就不能有'20110725'这样的值,因为那将是 8个字符 。
也许这些值在插入时被截断了?
'20110725'缩短为5个字符就变成了'20117',而转换这个值是行不通的。
我猜问题是这样的,因为正如 Mladen Prajdic已经说过的 ,将'20110725'转换为数据时间可以完美地工作。