Home [SQL] 日期運算-加減運算 Getdate()、Dateadd()
Post
Cancel

[SQL] 日期運算-加減運算 Getdate()、Dateadd()

以日為單位

Getdate()搭配運算符 +-

請輸出昨天、今天、明天的日期

1
2
3
4
--請輸出昨天、今天、明天的日期
select GETDATE()-1 "昨天", 
       GETDATE()   "今天", 
       GETDATE()+1 "明天"

也可以使用 dateadd()

Dateadd()

語法

1
Dateadd(datepart, number, date)

datepart單位可以指定加減運算的單位yearmonthday

求得昨天、今天、明天的日期

1
2
3
select DATEADD(DAY, -1,GETDATE()) "昨天", 
       GETDATE() "今天", 
       DATEADD(DAY, 1, GETDATE()) "明天"

以月為單位 Dateadd()

範例一

求得現在日期的上個月之相同日期

1
select DATEADD(MONTH, -1, GETDATE()) "上個月相同日期"

範例二

1
2
3
4
5
6
7
--取得2006/4/30之二個月前、一個月前、一個月後、二個月後的日期

select DATEADD(MONTH, -2, '2006/4/30') "2 個月前",
DATEADD(MONTH, -1, '2006/4/30') "1 個月前",
DATEADD(MONTH, 0, '2006/4/30') "基準日",
DATEADD(MONTH, 1, '2006/4/30') "2 個月後",
DATEADD(MONTH, 2, '2006/4/30') "1 個月後"

以時分秒為單位

求得從現在開始算30分後的時刻

Getdate()

1
2
--求得從現在開始算30分後的時刻
select GETDATE()+ 30/(24.0*60.0)

Dateadd()

1
2
--求得從現在開始算30分後的時刻
select DATEADD(MINUTE,30,GETDATE())
This post is licensed under CC BY 4.0 by the author.