SQL 日期時間函式

2021-06-19 19:37:48 字數 1764 閱讀 2585

日期時間型別的資料也是經常要用到的,比如員工的出生日期、結賬日期、入庫日期等,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...