【问题标题】:Date conversion in SQL Server throws errorSQL Server 中的日期转换引发错误
【发布时间】:2013-12-13 14:04:47
【问题描述】:

我正在尝试将日期转换为mm/dd/yyyy 格式

select convert(date,'31/12/2013',101)

但我收到此错误

消息 241,第 16 级,状态 1,第 1 行
从字符串转换日期和/或时间时转换失败。

如何做到这一点?我的系统(Windows 7)有dd-mm-yyyy 格式.. 系统日期格式会对它有影响吗?`

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    http://msdn.microsoft.com/en-us/library/ms187928.aspx

    101 是美国风格(mm/dd/yyyy)

    试试 103 (dd/mm/yyyy) 这是英国/法国

    SELECT CONVERT(DATE, '31/12/2013', 103)
    

    【讨论】:

      【解决方案2】:

      样式 101US 样式,所以这有月份在前 - 你的字符串代表第 31 个月的第 12 天 ....

      您需要使用的是样式 103(英国/法国),它首先使用日期 - 所以这个字符串是 12 月 31 日:

      SELECT CONVERT(DATE, '31/12/2013', 103)
      

      参见CASTCONVERT 上的the official MSDN SQL Server Books Online Documentation 以及定义了哪些样式以及它们的含义

      【讨论】:

        猜你喜欢
        • 2017-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多