1. 程式人生 > >數據庫時間字段條件操作善用TO_DAYS函數等

數據庫時間字段條件操作善用TO_DAYS函數等

上年 rda curd from 當前日期 orm val 1年 天數

to_days函數:返回從0000年(公元1年)至當前日期的總天數。註意如下舉例中的幾個字段名一般為時間戳記錄。
1、利用to_days函數查詢今天的數據:

select * from 表名 where to_days(時間字段名) = to_days(now());

2、利用to_days函數查詢昨天數據

SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) – TO_DAYS( 時間字段名) <= 1

其他:
1.查詢7天數據

SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(時間字段名)

2.查詢近30天

SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(時間字段名)

3.查詢本月

SELECT * FROM 表名 WHERE DATE_FORMAT( 時間字段名, ‘%Y%m‘ ) = DATE_FORMAT( CURDATE( ) , ‘%Y%m‘ )

4.查詢上一月

SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , ‘%Y%m‘ ) , date_format( 時間字段名, ‘%Y%m‘ ) ) =1

5.查詢本季度數據

select * from 表名 where QUARTER(create_date)=QUARTER(now());

6.查詢上季度數據

select * from 表名 where QUARTER(create_date)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));

7.查詢本年數據

select * from 表名 where YEAR(create_date)=YEAR(NOW());

8.查詢上年數據

select * from 表名 where year(create_date)=year(date_sub(now(),interval 1 year));

9.查詢當前這周的數據

SELECT name,submittime FROM 表名 WHERE YEARWEEK(date_format(submittime,‘%Y-%m-%d‘)) = YEARWEEK(now());

數據庫時間字段條件操作善用TO_DAYS函數等