无法在sql server中将varchar转换为日期

sri*_*esh 3 t-sql sql-server date sql-server-2008

在我的数据中,一个名为'duedate'的列为varchar(5)格式的日期以2011年7月25日的格式'20110725'存储,有没有办法可以将其转换为日期格式

我试过用

cast(duedate as datetime) 
Run Code Online (Sandbox Code Playgroud)

哪个没用,然后我试图将它转换为bigint然后转换为datetime

cast( cast(duedate as bigint) as datetime) 
Run Code Online (Sandbox Code Playgroud)

其中说

arithematic溢出错误


很抱歉这是混乱的varchar(50) - 拼写错误,非常感谢帮助生病尝试你们提到的事情

Chr*_*cht 5

如果该列实际上是varchar(5),则它不能具有类似'20110725'的值,因为它将是8个字符.

插入时可能会截断值?
'20110725'缩短为5个字符变为'20117',转换不起作用.

我想这个问题是类似的东西,因为姆拉登Prajdic已经表示,将"20110725",以日期时间完美的作品.