MySQL中日期函數的使用

1. MySQL中日期函數的使用

1.1. 轉DATETIME類型爲Date類型

將add_time=2013-01-12 23:23:56轉化爲date類型    
select * from product where Date(add_time) = '2013-01-12'

1.2. 獲取時間中的年、月、日

select * from product where Year(add_time) = 2013 and Month(add_time) = 1

1.3. 獲取日期是本年的第幾天, 值在1到366之間

mysql> select DAYOFYEAR('1998-02-03'); 
-> 34

1.4. 獲取日期是本月的第幾天, 值在1到31之間

mysql> select DAYOFMONTH('1998-02-03'); 
-> 3

1.5. 獲取日期是本週的第幾天, 值在1到7之間

返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六),這些索引值對應於ODBC標準。mysql

mysql> select DAYOFWEEK('1998-02-03'); 
-> 3

1.6. 獲取日期的星期索引

返回日期的星期索引(0=星期一,1=星期二, ……6= 星期天)sql

mysql> select WEEKDAY('1997-10-04 22:23:00'); 
-> 5 
mysql> select WEEKDAY('1997-11-05'); 
-> 2

1.7. 獲取日期的月份英文名

mysql> select MONTHNAME("1998-02-05"); 
-> 'February'

1.8. 獲取日期是星期幾

mysql> select DAYNAME("1998-02-05"); 
-> 'Thursday'

1.9. 獲取日期是本年的哪一季度,取值1到4

mysql> select QUARTER('98-04-01'); 
-> 2

1.10. 求兩日期間的間隔天數

mysql> SELECT something FROM table WHERE TO_DAYS(endTime) - TO_DAYS(beginTime) <= 30;

1.11. 日期加減函數

date_add('2012-05-25', interval 1 day) 表示 2012-05-26
date_add('2012-05-25', interval -1 day) 表示 2012-05-24
date_sub('2012-05-25',interval 1 day) 表示 2012-05-24
date_sub('2012-05-25',interval -1 day) 表示 2012-05-26
//括號裏的參數day能夠換成month及year

1.12. 獲取當前的日期、時間以及日期時間

得到當前日期(date)函數:curdate()
得到當前時間(time)函數:curtime()
得到當前日期+時間(date + time)函數:sysdate()
sysdate() 日期時間函數跟 now() 相似,不一樣之處在於:now() 在執行開始時值就獲得了, sysdate() 在函數執行時動態獲得值。

1.3. 將日期時間轉換成對應的字符串

SELECT DATE_FORMAT(NOW(),'%Y%m%d') 日期字符串,DATE_FORMAT(NOW(), '%Y%m%d%H%i%s') 日期時間字符串
相關文章
相關標籤/搜索