Sql server 将存储在varchar中的值转换为sql中的日期时间
我在varchar变量中存储了一个日期 我想将其转换为datetime格式,以便将日期更新为datetime类型的列Sql server 将存储在varchar中的值转换为sql中的日期时间,sql-server,Sql Server,我在varchar变量中存储了一个日期 我想将其转换为datetime格式,以便将日期更新为datetime类型的列 将@dt_原件声明为varchar(30) 设置为@dt_原始版本class='1997-12-22 00:00:00.000' 我试过了 cast(@dt_原始日期时间) 转换(日期时间,@dt_原件) 但什么都没用 总是抛出“从字符串转换日期和/或时间时转换失败”使用convert的想法是正确的,但是您缺少与字符串匹配的样式模式。在这种情况下,它是121: CONVERT
将@dt_原件声明为varchar(30)
设置为@dt_原始版本class='1997-12-22 00:00:00.000'
我试过了
cast(@dt_原始日期时间)
转换(日期时间,@dt_原件)
但什么都没用
总是抛出“从字符串转换日期和/或时间时转换失败”使用
convert
的想法是正确的,但是您缺少与字符串匹配的样式模式。在这种情况下,它是121:
CONVERT(日期时间,@dt_原件,121)
它对我有效:如果你想让变量保存一个日期,为什么首先要将它声明为varchar
?它不适用于非美国人@forpas。例如,如果您的英国:。不管微软怎么想(他们现在已经为新的日期和时间数据类型更正了它),世界上其他地方都没有以yyyy-dd-MM
格式读取日期。我的应用程序将日期存储为varchar