【问题标题】:Date format date-month-year日期格式 日-月-年
【发布时间】:2011-05-19 10:12:43
【问题描述】:

我有一个包含datetime 列的表。我想以日期-月-年的形式显示日期。我使用的是 SQL Server 2008。

【问题讨论】:

    标签: sql sql-server datetime format


    【解决方案1】:

    您需要转换日期时间列

    select convert(varchar,datecolumn,103) from yourtable
    

    【讨论】:

      【解决方案2】:

      一些日期时间转换:

      SELECT convert(datetime, '10/23/2016', 101) -- mm/dd/yyyy
      SELECT convert(datetime, '2016.10.23', 102) -- yyyy.mm.dd
      SELECT convert(datetime, '23/10/2016', 103) -- dd/mm/yyyy
      SELECT convert(datetime, '23.10.2016', 104) -- dd.mm.yyyy
      SELECT convert(datetime, '23-10-2016', 105) -- dd-mm-yyyy
      
      SELECT CONVERT(VARCHAR(10), GETDATE(), 111) AS [YYYY/MM/DD]
      /*  YYYY/MM/DD
          2015/07/11    */
      SELECT CONVERT(VARCHAR(10), GETDATE(), 112) AS [YYYYMMDD]
      /*  YYYYMMDD
          20150711     */
      

      -- SQL 将日期字符串转换为日期时间 - 时间设置为 00:00:00.000 或 12:00AM

      PRINT CONVERT(datetime,'07-10-2012',110)        -- Jul 10 2012 12:00AM
      PRINT CONVERT(datetime,'2012/07/10',111)        -- Jul 10 2012 12:00AM
      PRINT CONVERT(datetime,'20120710',  112)        -- Jul 10 2012 
      

      你可以从here学习所有的DateTime转换

      【讨论】:

      • 这个!转换 sql 日期总是令人困惑,感谢清晰的示例和更多链接
      【解决方案3】:

      FORMAT 可以用于此;

      SELECT FORMAT(GETDATE(), 'dd-MM-yyyy') --20-09-2021
      

      在你的情况下;

      SELECT FORMAT(datetime, 'dd-MM-yyyy') AS datetime --20-09-2021
      

      编辑; 很抱歉,我刚刚看到您提到 SQL Server 2008,此代码适用于 SQL Server 2012,适用于那些使用 2012 并最终出现在这里的人!

      【讨论】:

        猜你喜欢
        • 2015-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多