【问题标题】:How to get datepart from datetime in a Column如何从列中的日期时间获取日期部分
【发布时间】:2019-01-25 01:40:26
【问题描述】:

我想将日期时间格式为 (YYYY-MM-DD hh:mm:ss.nnnnnnn) 的列 (EXECUTION_LOCAL_DATE_TIME) 转换为格式 (YYYY-MM-DD)。何我明白这一点。我正在开发 SQL Server 管理工作室

【问题讨论】:

标签: sql sql-server


【解决方案1】:

如果您的意图只是获取 DATETIME 的 DATE 部分,那么您可以将格式转换为 DATE(请注意,这将返回一个“日期”数据类型,而不是专门格式化为字符串“YYYY-MM-DD” .)

例如:

DECLARE @Dt DATETIME = '2019-01-25T12:00:00'
SELECT CONVERT(DATE, @Dt)

将返回“2019-01-25”

【讨论】:

    【解决方案2】:
    【解决方案3】:

    理想情况下,您应该从查询中返回日期时间格式,并让表示层处理格式。

    但是,如果您使用的是 SQL Server 2012 或更高版本,则可以使用 Format() 函数。请参阅以下答案:

    Convert Date format into DD/MMM/YYYY format in SQL Server

    【讨论】:

      【解决方案4】:

      如果您使用的是 SQL Server 2012 或更高版本,则可以使用 FORMAT() 函数。

      在你的情况下你需要

      SELECT FORMAT(EXECUTION_LOCAL_DATE_TIME, 'yyyy-MM-dd') FROM TABLE_NAME
      

      您可以在此处找到更多信息

      https://www.mssqltips.com/sqlservertip/2655/format-sql-server-dates-with-format-function/ https://docs.microsoft.com/en-us/sql/t-sql/functions/format-transact-sql?view=sql-server-2017

      【讨论】:

        【解决方案5】:

        这是为我工作的代码

        SELECT convert(varchar, EXECUTION_LOCAL_DATE_TIME, 111) from Tablename

        Execution_Local_Date_Time 将被转换为yyyy/mm/dd 格式。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-01
          • 2012-01-30
          • 1970-01-01
          • 2013-11-29
          • 1970-01-01
          • 2020-03-19
          相关资源
          最近更新 更多