如何在sql中转换或转换numeric / varchar到date数据类型字段并在update语句中使用?

时间:2014-11-19 11:42:58

标签: sql-server

美好的一天!

我有2个问题,如何使用varchar和数字列字段

更新日期数据类型列字段

1。)mydate varchar(8) - > varchar列字段

SELECT mydate from mytable
  

结果:20141120

我的问题是我如何使用cast或convert

使用我的varchar列字段更新我的日期列字段
update table2
set date = (select mydate from mytable)

我收到错误!!!我被卡住了。

2。)mydate数字(8) - > numeric column字段

SELECT mydate from mytable
  

结果:

     

20101015

     

20140910

等等......

update table2
set date = (select mydate from mytable a, mytable2 b
where a.id=b.id)

我的问题是如何使用强制转换或转换

使用我的数字列字段更新我的日期列字段

我使用了不同的CAST和CONVERT,但我仍然收到错误!

这个的正确语法是什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

要将字符串转换为日期字段,您需要使用CONVERT函数:

CONVERT(datetime, mydate, 101)

这需要一个字符串字段,所以如果你的mydate字段确实是一个数字字段,那么你需要将它CAST到一个字符串,所以CONVERT命令将如下所示:

CONVERT(datetime, CAST(mydate as VarChar), 101)

该函数的第三个参数由上一个参数中的日期格式决定,您可以在http://msdn.microsoft.com/en-us/library/ms187928.aspx

上找到MSDN上的完整列表