在我的数据中,varchar(5) 格式的名为“duedate”的列的日期以以下格式“20110725”存储在 2011 年 7 月 25 日,有什么方法可以将其转换为日期格式
我试过使用
cast(duedate as datetime)
哪个不起作用
然后我尝试将其转换为 bigint,然后转换为 datetime
cast( cast(duedate as bigint) as datetime)
其中说
arithematic overflow error
很抱歉混淆它是 varchar(50) - 拼写错误,非常感谢帮助我尝试你们提到的事情
最佳答案
如果该列确实是 varchar( 5 ),则它不能具有像“20110725”这样的值,因为那将是 8 人物。
也许这些值在插入时被截断了?
'20110725' 缩短为 5 个字符就变成了 '20117',这样转换是行不通的。
我想问题是这样的,因为作为 Mladen Prajdic already said , 将 '20110725' 转换为 datetime 效果很好。
关于sql-server - 无法在 sql server 中将 varchar 转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6815619/