DATE_SUB(CURDATE(), INTERVAL 1 DAY)where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 W" />
參考如下
SELECT * FROM yh_content
where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 DAY)
where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 WEEK)
where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 YEAR)
注意:如果數(shù)據(jù)庫中時間以UNIX時間戳的形式存放的話,在時間對比上需要更改為統(tǒng)一格式:
DATE_SUB()返回的是格式化后的時間:2014-05-17
需要用UNIX_TIMESTAMP()轉(zhuǎn)化為UNIX時間戳形式對比:
where inputtime>UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY))
where inputtime>UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 WEEK))
where inputtime>UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
where inputtime>UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 YEAR))
詳細(xì)請查看MySql時間函數(shù):DATE_SUB、DATE_ADD、UNIX_TIMESTAMP等函數(shù)的用法
mysql中獲取一天、一周、一月時間數(shù)據(jù)的各種sql語句寫法
今天抽時間整理了一篇mysql中與天、周、月有關(guān)的時間數(shù)據(jù)的sql語句的各種寫法,部分是收集資料,全部手工整理,自己學(xué)習(xí)的同時,分享給大家,并首先默認(rèn)創(chuàng)建一個表、插入2條數(shù)據(jù),便于部分?jǐn)?shù)據(jù)的測試,其中部分名詞或函數(shù)進(jìn)行了解釋說明。直入主題!
創(chuàng)建表:
create table if not exists t
(
id int,
addTime datetime default '0000-00-00 00:00:00′
)
添加兩條初始數(shù)據(jù):
insert t values(1, '2012-07-12 21:00:00′);
insert t values(2, '2012-07-22 21:00:00′);
一、當(dāng)天或當(dāng)日插入的數(shù)據(jù):
1、傳統(tǒng)對比判斷: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、利用函數(shù)判斷:SELECT * FROM `t` WHERE DATEDIFF(addTime,NOW()) =0;//推薦此方法
4、利用時間戳判斷:SELECT * FROM `t` WHERE addTime BETWEEN (UNIX_TIMESTAMP(now()-86440)) AND now();
注:返回當(dāng)天時間的mysql函數(shù)有CURDATE()、CURRENT_DATE()、CURRENT_DATE、NOW()幾種;其中NOW()獲取的日期格式為0000-00-00 00:00:00的時間;CURDATE()、CURRENT_DATE()、CURRENT_DATE是獲取日期格式為0000-00-00的時間,所以返回的時間無時分秒;
二、當(dāng)月的相關(guān)數(shù)據(jù)寫法:
1、今天是當(dāng)月的第幾天:SELECT DAYOFMONTH( NOW( ) );
2、獲取當(dāng)月的第一天時間:SELECT DATA_SUB( NOW(), INTERVAL DAYOFMONTH(NOW())
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com