【问题标题】:Retrieving date from SQL Server in DD-MM-YYYY从 DD-MM-YYYY 中的 SQL Server 检索日期
【发布时间】:2013-10-28 09:30:56
【问题描述】:

我正在与 SQL Server 中的日期检索作斗争。谁能帮我?我想运行一个以DD-Month-YYYY 格式返回日期的查询。我尝试了几次谷歌搜索,但还没有得到任何帮助。

我是这样做的:

SELECT OrderDate 
FROM tblOrders;

它返回2010-01-23 00:00:00.000。我要找回:23-January-2010

【问题讨论】:

标签: sql sql-server


【解决方案1】:

日期是日期是日期。它闻起来和任何其他名字一样甜。

您要问的是格式。

您可以使用convert将日期转换为字符串

 select convert(varchar(20), OrderDate,106) from orders

如果你想得到完整的月份名称,那么你可以使用datename

 select datename(day, orderdate)+'-'
      + datename(month, orderdate)+'-'
      + datename(year,orderdate)
 from orders

【讨论】:

    【解决方案2】:

    如果是 sql server 2012,您可以选择 FORMAT() 函数,该函数与之前的版本相比提供了简单的格式化。

    SELECT FORMAT(Orderdate,'D','en-gb') as Formatted_Orderdate from tblOrders

    参考http://technet.microsoft.com/en-us/library/hh213505.aspx

    【讨论】:

      【解决方案3】:

      几天前我回答了同样的问题

      SELECT CAST(DAY(GETDATE()) AS VARCHAR(2)) + ' ' + DATENAME(MM, GETDATE()) + ' ' + CAST(YEAR(GETDATE()) AS VARCHAR(4)) AS [DD Month YYYY
      

      Format datetime column into DD MONTH YYYY

      【讨论】:

        【解决方案4】:

        试试这个:

        SELECT CAST(DAY(SYSDATETIME()) AS VARCHAR(2)) + '-' + DATENAME(MM, SYSDATETIME()) + '-' + RIGHT(CAST(YEAR(SYSDATETIME()) AS VARCHAR(4)), 2) AS [DD Month YY]
        

        我使用的是 SQL Server 2008 R2 Express

        【讨论】:

          猜你喜欢
          • 2017-10-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多