【问题标题】:SQL Convert 'yyyymmdd date' to 'mm/dd/yyyy' dateSQL 将 'yyyymmdd 日期' 转换为 'mm/dd/yyyy' 日期
【发布时间】:2014-04-07 21:44:58
【问题描述】:

我认为我可以像大多数日期到日期转换一样使用 convert(varchar(10),DateColumn,101),但输出与输入相同,yyyymmdd

【问题讨论】:

  • 其实这可能是一个varchar列,而不是datetime列。所以你需要反过来转换它。
  • 考虑这是否是个好主意。 yyyymmdd 在大多数方面都优于 mm/dd/yyyy,后者是模棱两可的。
  • 将日期值作为字符串保存不是明智之举。尝试使用日期和日期时间类型。除了@Keith 评论,您可能很难实施本地化示例:mm/dd/yyyy 是美国格式,但如果您需要在英国部署应用程序,则需要显示和获取输入(至少在 UI 层)如 dd/mm/yyyy

标签: sql-server tsql date datetime datetime-format


【解决方案1】:

这是一个可以回答您问题的简单示例:

    declare @date date
    set @date = '19901124'

    select @date --your date format
    select CONVERT(varchar(10), @date, 101)  --new date format

希望对您有所帮助。

谢谢, 马特

【讨论】:

    【解决方案2】:
    declare @date varchar(8)
        set @date = '20151205'
    
    SELECT convert(varchar(10), cast(@date AS date),103) -- dd/mm/aaaa
    

    101 = mm/dd/aaaa

    103 = dd/mm/aaaa

    111 = aaaa/mm/dd

    更多信息:https://msdn.microsoft.com/es-pe/library/ms187928.aspx

    【讨论】:

      猜你喜欢
      • 2011-04-09
      • 2012-10-14
      • 1970-01-01
      • 2020-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      相关资源
      最近更新 更多