日期時間型別的資料也是經常要用到的,比如員工的出生日期、結賬日期、入庫日期等,sql中也提供了一些函式對這些資料進行處理。
取得當前日期時間
在系統中經常需要使用當前日期時間進行處理,比如將「入庫時間」字段設定為當前日期時間。
mysql中提供了now()函式,用於取得當前的日期時間,now()函式還有sysdate()、current_timestamp等別名。sql語句如下:
select now(),sysdate(),current_timestamp;
執行完畢我們能看到下面的結果:
| now() | sysdate() | current_timestamp |
| 2011-05-11 10:42:42 | 2011-05-11 10:42:42 | 2011-05-11 10:42:42 |
如果想得到不包括時間部分的當前日期,則可以使用curdate()函式,curdate()還有current_date等別名,sql語句如下:
select curdate(),current_date;
執行完畢我們能看到下面的結果:
| curdate() | current_date |
| 2011-05-11 | 2011-05-11 |
如果想得到不包括日期部分的當前時間,則可以使用curtime()函式,curtime()函式還有current_time等別名,sql語句如下:
select curtime(),current_time;
執行完畢我們能看到下面的結果:
| curtime() | current_time |
| 10:46:53 | 10:46:53 |
計算日期差額
有時候我們需要計算兩個日期的差額,比如計算「回款日」和「驗收日」之間所差的天數,或者檢索「最後一次登入日期」與當前日期差額大於100天的使用者資訊。
mysql中使用datediff()函式用於計算兩個日期之間的差額,其引數呼叫格式如下:
datadiff(date1,date2)
函式將返回date1與date2之間的天數差額,如果date2在date1之前,返回正值,否則返回負值。
比如下面的sql語句用於計算訂單的訂購日期與到貨日期之間的天數差額:
select 訂購日期,到貨日期, datediff(訂購日期,到貨日期),datediff(到貨日期,訂購日期) from demo_orders where 訂單id=11047;
執行完畢我們能看到下面的結果:
| 訂購日期 | 到貨日期 | datediff(訂購日期,到貨日期) | datediff(到貨日期,訂購日期) |
| 1998-04-24|1998-05-22| -28 | 28 |
計算星期幾
mysql中提供的dayname()函式用來計算乙個日期是星期幾,比如下面的sql語句用來計算訂購日期是星期幾:
select 訂購日期,dayname(訂購日期) from demo_orders where 訂單id=11047;
執行結果如下:
| 訂購日期 | dayname(訂購日期) |
| 1998-04-24 | friday |
SQL日期與時間函式
1.當前系統日期 時間 select getdate 2.dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如 向日期加上2天 select dateadd day,2,2004 10 15 返回 2004 10 17 00 00 00.000 3.datediff...
sql語句 日期時間函式
date 日期時間字串,修正符,修正符.time 日期時間字串,修正符,修正符.datetime 日期時間字串,修正符,修正符.julianday 日期時間字串,修正符,修正符.strftime 日期時間格式,日期時間字串,修正符,修正符.這5個函式需要乙個日期時間字串做引數,修正符可以從零到多個,...
sql 日期和時間函式
返回當前日期 curdate current date 返回當前時間 curtime current time 返回當前日期和時間 now current timestamp localtime systime localtimestamp 以unix時間戳的形式返回當前時間 unix timest...