我在sqlserver中有幾個字段(empid,arrivaltime)。我想要得到的查詢輸出如下我們如何才能從sqlserver中的單個日期時間字段中獲取日期和時間
79 08/11/2009 3:21PM
78 08/11/2009 3:19PM
98 08/11/2009 9:02AM
97 08/11/2009 9:00AM
96 08/11/2009 8:56AM
95 08/11/2009 8:53AM
請給我這個sql查詢。
我在sqlserver中有幾個字段(empid,arrivaltime)。我想要得到的查詢輸出如下我們如何才能從sqlserver中的單個日期時間字段中獲取日期和時間
79 08/11/2009 3:21PM
78 08/11/2009 3:19PM
98 08/11/2009 9:02AM
97 08/11/2009 9:00AM
96 08/11/2009 8:56AM
95 08/11/2009 8:53AM
請給我這個sql查詢。
嘗試功能DATEPART
。它的工作原理是這樣的:
SELECT DATEADD(D, 0, DATEDIFF(D, 0, GETDATE()))
您可以使用CONVERT
函數使用日期/時間格式化程序。
SELECT
CONVERT(VARCHAR(10), ArrivalTime, 103) AS [ArrivalDate],
CONVERT(VARCHAR(10), ArrivalTime, 8) AS [ArrivalTime]
或者,您還可以通過提供格式來使用UDF given here格式化日期/時間。
要獲得AM/PM格式的時間,你必須調整代碼有點像這樣 -
SELECT
SUBSTRING(CONVERT(VARCHAR(20), ArrivalTime, 9), 13, 5) + ' ' +
SUBSTRING(CONVERT(VARCHAR(30), ArrivalTime, 9), 25, 2)
SELECT empid, CONVERT(VARCHAR(10),arrivaltime,101) as
date,CONVERT(VARCHAR(10),arrivaltime,108) as time FROM Table
這將顯示結果幾乎如上所述。我不知道的唯一的事情就是如何格式化時間與AM顯示/ PM
使用以下查詢得到確切的結果,只要你想:
select empid, convert(varchar,arrivaltime,101), substring(convert(varchar,arrivaltime,100),len(convert(varchar,arrivaltime,100))-6,7)
太好了!這是工作...但它顯示24小時格式的到達時間。我需要它是12小時格式,如05:34 AM – Partha 2009-08-12 06:50:13