mysql 昨天 一周前 一月前 一年前的數據 這里主要用到了DATE_SUB,
參考如下
注意:如果數據庫中時間以UNIX時間戳的形式存放的話,在時間對比上需要更改為統一格式:
DATE_SUB()返回的是格式化后的時間:2014-05-17
需要用UNIX_TIMESTAMP()轉化為UNIX時間戳形式對比:
詳細請查看MySql時間函數:DATE_SUB、DATE_ADD、UNIX_TIMESTAMP等函數的用法
mysql中獲取一天、一周、一月時間數據的各種sql語句寫法
今天抽時間整理了一篇mysql中與天、周、月有關的時間數據的sql語句的各種寫法,部分是收集資料,全部手工整理,自己學習的同時,分享給大家,并首先默認創建一個表、插入2條數據,便于部分數據的測試,其中部分名詞或函數進行了解釋說明。直入主題!
創建表:
添加兩條初始數據:
insert t values(1, '2012-07-12 21:00:00′);
insert t values(2, '2012-07-22 21:00:00′);
一、當天或當日插入的數據:
1、傳統對比判斷:SELECT * FROM `t` WHERE DATE_FORMAT(addTime,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')");
2、第一點的簡寫:SELECT * FROM `t` WHERE addTime >= date_format(NOW(),'%Y-%m-%d');
3、利用函數判斷:SELECT * FROM `t` WHERE DATEDIFF(addTime,NOW()) =0;//推薦此方法
4、利用時間戳判斷:SELECT * FROM `t` WHERE addTime BETWEEN (UNIX_TIMESTAMP(now()-86440)) AND now();
注:返回當天時間的mysql函數有CURDATE()、CURRENT_DATE()、CURRENT_DATE、NOW()幾種;其中NOW()獲取的日期格式為0000-00-00 00:00:00的時間;CURDATE()、CURRENT_DATE()、CURRENT_DATE是獲取日期格式為0000-00-00的時間,所以返回的時間無時分秒;
二、當月的相關數據寫法:
1、今天是當月的第幾天:SELECT DAYOFMONTH( NOW( ) );
2、獲取當月的第一天時間:SELECT DATA_SUB( NOW(), INTERVAL DAYOFMONTH(NOW())
主站蜘蛛池模板:
磐石市|
洪洞县|
阳西县|
巩留县|
方正县|
易门县|
兴城市|
沈丘县|
天等县|
周宁县|
烟台市|
观塘区|
凤翔县|
正宁县|
茌平县|
奇台县|
东乌珠穆沁旗|
甘南县|
越西县|
通州市|
溆浦县|
墨竹工卡县|
石嘴山市|
芒康县|
疏勒县|
梓潼县|
洪江市|
富宁县|
祥云县|
雷波县|
九寨沟县|
康马县|
栖霞市|
万山特区|
谷城县|
阜南县|
富源县|
蓝田县|
竹北市|
永登县|
泰宁县|