1. 程式人生 > >SQL 實現日期(時間)相加減

SQL 實現日期(時間)相加減

前言

時間(日期)的相加減是程式設計中經常會遇到的場景,我們使用的很多第三方庫都會提供相應的API來供程式設計師實現時間(日期)的相加減。樓主一直使用的Qt庫的QDate類就有提供addDays()系列API供程式設計師呼叫。在結構化查詢語言SQL中同樣可以實現時間(日期)的相加減,下面就來看幾個例子。

SQL實現日期(時間)加減例項

SQL實現時間相加減:
select date(date(),'-1 days') as 昨天, date() as 今天, date(date(),'+1 days') as 明天;
結果截圖:
date()函式返回當前日期,date(arg1,arg2)函式通過引數arg1指定一個日期,引數arg2通過一個字串指定要增減的天數(格式為‘? days’其中?號可為正數也可以負數,正數表示增加幾天,負數表示減少幾天)。 SQL實現日期時間相加減:
select datetime(datetime(),'-1 days') as 昨天, datetime() as 今天, datetime(datetime(),'+1 days') as 明天;
結果截圖:
datetime()與date()使用情況一模一樣,只是會額外顯示時間,奇怪的是樓主當前的系統時間明明是晚上的7:42,為什麼select出來是11:38:31? 難道是通過網路取的另外一臺機器上的時間,但不影響我們理解datetime()實現日期時間相加減,只是Mark一下。。。