廣告

2024 年 11 月
 123
45678910
11121314151617
18192021222324
252627282930  

彙整

MySQL日期函數應用

查詢現在日期

mysql> select now();
+———————+
| now()                 |
+———————+
| 2009-12-16 14:56:18 |
+———————+
1 row in set (0.00 sec)

 

結果只秀年月日 yyyy-mm-dd

mysql> select curdate();
+————+
| curdate()  |
+————+
| 2009-12-16 |
+————+
1 row in set (0.00 sec)

 

select * from db

where date = curdate();

這邊就要看date的儲存格式決定用那種時間格式的函數。

 

SQL 查詢語法日期加減法

加一天
DATE_ADD(日期, INTERVAL 1 DAY);
減一天
DATE_SUB(日期, INTERVAL 1 DAY);
加一月
DATE_ADD(日期, INTERVAL 1 MONTH)
減一月
DATE_SUB(日期, INTERVAL 1 MONTH)

範例
1. select from test where testday between DATE_SUB(2004-01-01 000000, INTERVAL 1 MONTH) and DATE_SUB(2004-01-01 235959, INTERVAL 1 DAY);

 

2.

mysql> select DATE_ADD(curdate(), INTERVAL 1 DAY) as date;
+————+
| date       |
+————+
| 2009-12-17 |
+————+
1 row in set (0.00 sec)

 

3.取年

mysql> select year(now())
    -> ;
+————-+
| year(now()) |
+————-+
|        2009 |
+————-+
1 row in set (0.00 sec)

 

4.取月

mysql> select day(now());
+————+
| day(now()) |
+————+
|         16 |
+————+
1 row in set (0.01 sec)

 

5.取日

mysql> select month(now());
+————–+
| month(now()) |
+————–+
|           12 |
+————–+
1 row in set (0.00 sec)

 

還有其他時間單位的表示方式:

SECOND ss
MINUTE mm
HOUR hh
DAY DD
MONTH MM
YEAR YY
MINUTE_SECOND mm:ss
HOUR_MINUTE hh:mm
DAY_HOUR DD:hh
YEAR_MONTH YYYY-MM
HOUR_SECOND hh:ss
DAY_MINUTE DD hh:mm
DAY_SECOND DD hh:mm:ss

用法:
DATE_ADD(‘2007-08-06 12:12:12′, INTERVAL ’10:01’ HOUR_SECOND);

讀者也會看的其它文章:

    You must be logged in to post a comment.