yyyy - varchar datetime sql
如何將DateTime轉換為時間 (3)
我正在使用
CAST
語法將
DateTime
字段強制轉換為Time。
select CAST([time] as time) as [CSTTime]
日期時間
2015-03-19 00:00:00.000
當前輸出:時間
03:05:36.0000000
我只需要
HH:MM:SS
,不需要毫秒或0000
如何將其過濾或強制轉換為確切的
HH:MM:SS
格式。
上面的所有答案都是正確的,僅在2012+年供參考,您還可以這樣做:
DECLARE @date datetime2 = SYSDATETIME()
SELECT FORMAT(@date, N'hh:mm:ss', N'en-US')
SELECT TIMEFROMPARTS(DATEPART(hh, @date), DATEPART(mm, @date), DATEPART(ss, @date),0,0)
FORMAT() 允許您選擇分隔符和 culture 。 它將返回 NVARCHAR 數據類型。
TIMEFROMPARTS() 允許您選擇精度,並且在您希望以任何方式舍入時間戳時都非常方便,因為它將內部的所有值都視為int數字。 它將返回 TIME 數據類型。
您可以使用
CAST
來實現,只需簡單地使用
TIME(0)
數據類型,如下所示:
SELECT CAST('2015-03-19 01:05:06.289' AS TIME(0))
輸出:
01:05:06
SQL Server 2008:
select cast(MyDate as time) [time] from yourtable
早期版本:
select convert(char(5), MyDate , 108) [time] from yourtable
其他選項:
SELECT CONVERT(VARCHAR(20), GETDATE(), 114)
從日期時間獲取時間 而沒有毫秒 堆棧的最簡單方法是:
SELECT CONVERT(time(0),GETDATE())
小時和分鐘
SELECT substring(CONVERT(VARCHAR, GETDATE(), 108),0,6) AS Time