MySql時間查詢


   每周第一天:

 select curdate(), date_add(curdate(),interval -weekday(curdate()) day) ;

 每月第一天 :

 select  curdate(), date_sub(curdate(),interval  day(curdate())-1 day) ;

 當前月的天數 :

 select datediff(date_add(curdate()-day(curdate())+1,interval 1 month ),DATE_ADD(curdate(),interval -day(curdate())+1 day)) from dual ; 

 任意一天轉換為當月第一天 :

 select  date_add( " 時間字段",interval -day(create_time)+1 day) ;

 mysql查詢本季度 :

今天
select * from "表名" where to_days("時間字段") = to_days(now());
7天
SELECT *FROM "表名" where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date("時間字段") ;

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

本月

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

上一月

SELECT *FROM "表名" WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( "時間字段", '%Y%m' ) ) =1;
本季度數據:
select * from `表名` where QUARTER("時間字段")=QUARTER(now());
上季度數據:
select * from `表名` where QUARTER('時間字段')=QUARTER(DATE_SUB(now(),interval 1 QUARTER));
本年數據:
select * from `表名` where YEAR('時間字段')=YEAR(NOW());
上年數據:
select * from `表名` where year('時間字段')=year(date_sub(now(),interval 1 year));
當前這周的數據:
SELECT '字段' FROM '表名' WHERE YEARWEEK(date_format('時間字段',’%Y-%m-%d’)) = YEARWEEK(now());
上周的數據:
SELECT '字段' FROM '表名' WHERE YEARWEEK(date_format('時間字段',’%Y-%m-%d’)) = YEARWEEK(now())-1;
當前月份的數據:
select '字段' from '表名' where date_format('時間字段',’%Y-%m’)=date_format(now(),’%Y-%m’);
距離當前現在6個月的數據:
select '字段' from '表名' where '時間字段' between date_sub(now(),interval 6 month) and now();
上個月的數據:
select '字段' from '表名' where date_format('時間字段',’%Y-%m’)=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),’%Y-%m’);
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM