ysySelf
 //查询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;
 
 















 




 
 



 
 


分类:

技术点:

相关文章: