MS SQL日期格式轉換

Designed by Freepik
太常用到了~
腦子又一直記不住,
還是自己找地方紀錄一下比較好!

圖片來源Designed by Freepik

  1. 常用時間轉換:
Select CONVERT(nvarchar(10), GETDATE(), 23): 2018-05-16
Select CONVERT(nvarchar(10), GETDATE(), 111): 2018/05/16
Select CONVERT(nvarchar(8), GETDATE(), 8): 10:57:46
Select CONVERT(nvarchar(8), GETDATE(), 24): 10:57:47
Select CONVERT(nvarchar(19), GETDATE(), 20): 2018-05-16 10:57:47

Select CONVERT(nvarchar(30), GETDATE(), 0): 05 16 2018 10:57AM
Select CONVERT(nvarchar(30), GETDATE(), 1): 05/16/06
Select CONVERT(nvarchar(30), GETDATE(), 2): 06.05.16
Select CONVERT(nvarchar(30), GETDATE(), 3): 16/05/06
Select CONVERT(nvarchar(30), GETDATE(), 4): 16.05.06
Select CONVERT(nvarchar(30), GETDATE(), 5): 16-05-06
Select CONVERT(nvarchar(30), GETDATE(), 6): 16 05 06
Select CONVERT(nvarchar(30), GETDATE(), 7): 05 16, 06
Select CONVERT(nvarchar(30), GETDATE(), 8): 10:57:46
Select CONVERT(nvarchar(30), GETDATE(), 9): 05 16 2018 10:57:46:827AM
Select CONVERT(nvarchar(30), GETDATE(), 10): 05-16-06
Select CONVERT(nvarchar(30), GETDATE(), 11): 06/05/16
Select CONVERT(nvarchar(30), GETDATE(), 12): 060516
Select CONVERT(nvarchar(30), GETDATE(), 13): 16 05 2018 10:57:46:937
Select CONVERT(nvarchar(30), GETDATE(), 14): 10:57:46:967
Select CONVERT(nvarchar(30), GETDATE(), 20): 2018-05-16 10:57:47
Select CONVERT(nvarchar(30), GETDATE(), 21): 2018-05-16 10:57:47.157
Select CONVERT(nvarchar(30), GETDATE(), 22): 05/16/06 10:57:47 AM
Select CONVERT(nvarchar(30), GETDATE(), 23): 2018-05-16
Select CONVERT(nvarchar(30), GETDATE(), 24): 10:57:47
Select CONVERT(nvarchar(30), GETDATE(), 25): 2018-05-16 10:57:47.250
Select CONVERT(nvarchar(30), GETDATE(), 100): 05 16 2018 10:57AM
Select CONVERT(nvarchar(30), GETDATE(), 101): 05/16/2018
Select CONVERT(nvarchar(30), GETDATE(), 102): 2018.05.16
Select CONVERT(nvarchar(30), GETDATE(), 103): 16/05/2018
Select CONVERT(nvarchar(30), GETDATE(), 104): 16.05.2018
Select CONVERT(nvarchar(30), GETDATE(), 105): 16-05-2018
Select CONVERT(nvarchar(30), GETDATE(), 106): 16 05 2018
Select CONVERT(nvarchar(30), GETDATE(), 107): 05 16, 2018
Select CONVERT(nvarchar(30), GETDATE(), 108): 10:57:49
Select CONVERT(nvarchar(30), GETDATE(), 109): 05 16 2018 10:57:49:437AM
Select CONVERT(nvarchar(30), GETDATE(), 110): 05-16-2018
Select CONVERT(nvarchar(30), GETDATE(), 111): 2018/05/16
Select CONVERT(nvarchar(30), GETDATE(), 112): 20180516
Select CONVERT(nvarchar(30), GETDATE(), 113): 16 05 2018 10:57:49:513
Select CONVERT(nvarchar(30), GETDATE(), 114): 10:57:49:547
Select CONVERT(nvarchar(30), GETDATE(), 120): 2018-05-16 10:57:49
Select CONVERT(nvarchar(30), GETDATE(), 121): 2018-05-16 10:57:49.700
Select CONVERT(nvarchar(30), GETDATE(), 126): 2018-05-16T10:57:49.827
Select CONVERT(nvarchar(40), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
Select CONVERT(nvarchar(30), GETDATE(), 131): 18/04/1427 10:57:49:920AM

  1. 加減日期
DATEADD (datepart , number , date)
datepart參數為yy,mm,dd,hh,mi,ss ...等
詳見 DATEADD (Transact-SQL) --今天往後六天
select DATEADD(d, 6, Getdate())
--今天往前六個月
select DATEADD(m, -6, Getdate())

  1. 取得指定日期的年、月、日等等
DATEPART ( datepart , date )
此函式會傳回整數,代表指定 date 的指定 datepart。
datepart參數為yy,mm,dd,weekday,dayofyear ...等
詳見 DATEADD (Transact-SQL) SELECT DATEPART(year, GETDATE())
,DATEPART(month, GETDATE())
,DATEPART(day, GETDATE())
,DATEPART(dayofyear, GETDATE())
,DATEPART(weekday, GETDATE());

  1. 今天星期幾?
SELECT CONVERT(CHAR(1),DATEPART(WEEKDAY, GETDATE()+6))
SELECT DATEPART(WEEKDAY, GETDATE()-1)
星期一 -> 1
星期二 -> 2
星期三 -> 3
星期四 -> 4
星期五 -> 5
星期六 -> 6
星期日 -> 7

沒有留言:

張貼留言

技術提供:Blogger.