時間MySql查詢大全和使用大全


 //查詢15天之前得數據(modifydate)是數據庫得時間字段格式yyyy-MM-dd hh:mm:ss
SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 15 DAY) > date(modifydate);

//刪除十五天之前的數據(log_time_YMD是數據庫得時間字段格式yyyy-MM-dd hh:mm:ss
 1:delete From 表名 where DATE_SUB(CURDATE(), INTERVAL 15 DAY) > date(log_time_YMD);

//刪除七天之前的數據(modifydate是數據庫得時間字段格式yyyy-MM-dd hh:mm:ss
2:delete From 表名 where DATE(modifydate) <= DATE(DATE_SUB(NOW(),INTERVAL 7 day))

//時間區間查詢
1:select * from 表名 where 日期列 >= to_date('2015-10-20 00:00:00','yyyy-mm-dd hh24:mi:ss') and t.日期列 <= to_date('2015-10-20 23:59:59','yyyy-mm-dd hh24:mi:ss')
//時間區間查詢
2:select * from 表名 where 日期列 between to_date('2015-10-20 00:00:00','yyyy-mm-dd hh24:mi:ss')and to_date('2015-10-20 23:59:59','yyyy-mm-dd hh24:mi:ss')


//如果數據庫得時間格式是yyyyMMdd --19900808 sdate 時間字段) (?客戶傳過來的時間)
 SELECT * FROM 表名 WHERE 1 = 1 and 表名.時間字段>= ? and 表名.時間字段 >= ?

//查詢今天得全部數據
 select * from 表名 where to_days(時間字段名) = to_days(now());

//查詢昨天全部得數據
 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS(數據庫時間字段) = 1

查詢本月得數據
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(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')

//查詢距離當前現在6個月的數據
select * from 表名 where 時間字段 between date_sub(now(),interval 6 month) and now()

//時間區間查詢
SELECT * FROM 表名 WHERE 時間字段 BETWEEN '2019-03-01 00:00:00' AND '2019-07-01 00:00:00';
SELECT * FROM 表名 WHERE 時間字段 >= '2019-03-01 00:00:00' AND 時間字段<= '2019-07-01 00:00:00';

SELECT * FROM operation_log_details WHERE modifydate  >= '2019-03-01 00:00:00' AND modifydate <= '2019-07-01 00:00:00' and 字段<> 4 ORDER BY 字段 desc;
以上除非特殊說明其余的時間字段都是yyyy-MM-dd HH:mm:ss格式

補充操作時間:

/*獲取當前時間*/
SELECT
TIME_TO_SEC(NOW()),
NOW(),
current_timestamp(),
REPLACE(unix_timestamp(current_timestamp(3)),'.','');
 
/*當前時間加1毫秒*/
SELECT DATE_ADD(NOW(),INTERVAL 1 MICROSECOND);
 
/*當前時間減1毫秒*/
SELECT DATE_ADD(NOW(),INTERVAL -1 MICROSECOND);
 
/*當前時間加1秒*/
SELECT DATE_ADD(NOW(),INTERVAL 1 SECOND);
 
/*當前時間減1秒*/
SELECT DATE_ADD(NOW(),INTERVAL -1 SECOND);
 
/*當前時間加1分*/
SELECT DATE_ADD(NOW(),INTERVAL 1 MINUTE);
 
/*當前時間減1分*/
SELECT DATE_ADD(NOW(),INTERVAL -1 MINUTE);
 
/*當前時間加1小時*/
SELECT DATE_ADD(NOW(),INTERVAL 1 HOUR);
 
/*當前時間減1小時*/
SELECT DATE_ADD(NOW(),INTERVAL -1 HOUR);
 
/*當前日期加1天*/
SELECT DATE_ADD(NOW(),INTERVAL 1 DAY);
 
/*當前日期減1天*/
SELECT DATE_ADD(NOW(),INTERVAL -1 DAY);
 
/*當前日期加1月*/
SELECT DATE_ADD(NOW(),INTERVAL 1 MONTH);
 
/*當前日期減1月*/
SELECT DATE_ADD(NOW(),INTERVAL -1 MONTH);
 
/*當前日期加1季度*/
SELECT DATE_ADD(NOW(),INTERVAL 1 QUARTER);
 
/*當前日期減1季度*/
SELECT DATE_ADD(NOW(),INTERVAL -1 QUARTER);
 
/*當前日期加1年*/
SELECT DATE_ADD(NOW(),INTERVAL 1 YEAR);
 
/*當前日期減1年*/
SELECT DATE_ADD(NOW(),INTERVAL -1 YEAR);

/*當前時間轉換成秒*/
select UNIX_TIMESTAMP(NOW()) ;
/*當前時間轉換成毫秒*/
select UNIX_TIMESTAMP(NOW()) * 1000;
 
 






 
        








 
 
        



 
 



 
 



免責聲明!

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



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