【问题标题】:how to cast or convert numeric/varchar to date data type field in sql and use in update statement?如何在 sql 中将 numeric/varchar 转换为日期数据类型字段并在更新语句中使用?
【发布时间】:2014-11-19 20:18:51
【问题描述】:

美好的一天!

我有 2 个问题如何使用 varchar 和数字列字段更新日期数据类型列字段

1.)mydatevarchar(8)--> varchar 列字段

SELECT mydate from mytable

结果:20141120

我的问题是如何使用我的 varchar 列字段使用 cast 或 convert 更新我的日期列字段

update table2
set date = (select mydate from mytable)

我得到一个错误!我被困住了。

2.)mydate numeric(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,但仍然出现错误!

正确的语法是什么?

感谢您的帮助!

【问题讨论】:

  • 使用 Cast 发布您的作品并在问题中转换。

标签: sql-server


【解决方案1】:

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

CONVERT(datetime, mydate, 101)

这需要一个字符串字段,因此如果您的 mydate 字段确实是一个数字字段,那么您需要将其转换为字符串,因此 CONVERT 命令将如下所示:

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

函数的第三个参数由前一个参数中日期的格式决定,完整列表可以在MSDNhttp://msdn.microsoft.com/en-us/library/ms187928.aspx找到

【讨论】:

  • 感谢您的反馈,我会检查并通知您。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-26
  • 2014-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-02
相关资源
最近更新 更多