【问题标题】:Convert Varchar Apr-14-2015 to 04/14/2015 IN SQL将 Varchar Apr-14-2015 转换为 04/14/2015 IN SQL
【发布时间】:2023-04-11 09:37:02
【问题描述】:

我有一个字段,其中包含 2015 年 4 月 14 日的值,我需要将其转换为日期时间字段,例如 04/14/2015

【问题讨论】:

  • 更好的问题是为什么您首先将日期时间值存储在varchar 中?此外,SQL Server 中没有“字段”之类的东西。
  • 我无法控制它们在 varchar 中存储日期时间值。对不起我的术语使用,只是想得到一个答案。
  • “我无法控制他们将日期时间值存储在 varchar 中。” 然后反馈给任何可以修复他们的设计的人。 varchar is NOT a one size fits all data type

标签: sql sql-server-2012


【解决方案1】:

您可以将连字符转换为空格并使用格式 100:

select convert(date, replace(field, '-', ' '), 100)

如果某些值的格式不正确,您可以改用try_convert()

【讨论】:

  • 我试过你的代码,但后来我收到了这条消息 - 从字符串转换日期和/或时间时转换失败
  • 当您有 5 种更适合 @DavidCarreonSr 的其他数据类型时,存储 varchar 数据的危险。 .
  • 我做错了什么,但您的解决方案有效。谢谢
猜你喜欢
  • 1970-01-01
  • 2020-01-07
  • 2021-06-23
  • 2021-12-02
  • 2016-03-08
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
相关资源
最近更新 更多