如何从列中的日期时间获取datepart

时间:2019-01-25 01:40:26

标签: sql sql-server

我想将日期时间格式为(YYYY-MM-DD hh:mm:ss.nnnnnnn)的列(EXECUTION_LOCAL_DATE_TIME)转换为格式(YYYY-MM-DD)。我怎么得到这个。我正在使用SQL Server Management Studio

5 个答案:

答案 0 :(得分:1)

如果您打算仅获取DATETIME的DATE部分,则可以将格式转换为DATE(请注意,这将返回“ Date”数据类型,而不是专门格式化为字符串“ YYYY-MM-DD” )

例如:

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

将返回'2019-01-25'

答案 1 :(得分:0)

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

如果您使用的是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

答案 4 :(得分:0)

这是为我工作的代码

SELECT convert(varchar, EXECUTION_LOCAL_DATE_TIME, 111) from Tablename

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