Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将存储在varchar中的值转换为sql中的日期时间_Sql Server - Fatal编程技术网

Sql server 将存储在varchar中的值转换为sql中的日期时间

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

我在varchar变量中存储了一个日期 我想将其转换为datetime格式,以便将日期更新为datetime类型的列

将@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