mysql怎么写查询距离现在6个月之前的数据

mysql怎么写查询距离现在6个月之前的数据,第1张

改成-6不行吗,不行的话试试下面的

select * from 表名 where 时间字段 >CURRENT_TIMESTAMP - INTERVAL 6 month

and 时间字段 <CURRENT_TIMESTAMP

oracle的,算是抛砖引玉

SELECT SUBSTR(add_months(TRUNC(sysdate,'yyyy'), ROWNUM +(to_number(TO_CHAR(sysdate,'mm'))-6-1)),0,7) MONTH

FROM DUAL

  CONNECT BY ROWNUM <=6

首先要考虑给数据库减压,意思就是让数据库做最简单的事情。你可以把条件在php里边组装好,然后让mysql只单一的执行查询就好了,php的时间代码给你贴一下吧

<?php

date_default_timezone_set('Asia/Shanghai') 

echo "今天:".date("Y-m-d H:i:s")."<br>"     

echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>"     

echo "明天:".date("Y-m-d",strtotime("+1 day")). "<br>"  

echo "一周后:".date("Y-m-d",strtotime("+1 week")). "<br>" 

echo "一周前:".date("Y-m-d",strtotime("-1 week")). "<br>"    

echo "一周零两天四小时两秒后:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")). "<br>"     

echo "下个星期四:".date("Y-m-d",strtotime("next Thursday")). "<br>"     

echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."<br>"     

echo "一个月前:".date("Y-m-d",strtotime("last month"))."<br>"     

echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."<br>"     

echo "十年后:".date("Y-m-d",strtotime("+10 year"))."<br>" 

echo '<hr/>'

//php获取今日开始时间戳和结束时间戳 

$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'))

$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1

echo "今日开始时间戳和结束时间戳",'开始:',$beginToday,'结束:',$endToday,'<br/>'

echo "今日开始时间:",date("Y-m-d H:i:s",$beginToday),'<br/>'

echo "今日结束时间:",date("Y-m-d H:i:s",$endToday),'<br/>'

echo '<hr/>'

//php获取昨日起始时间戳和结束时间戳

$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'))

$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1 

echo "昨日开始时间戳和结束时间戳",'开始:',$beginYesterday,'结束:',$endYesterday,'<br/>'

echo "昨日开始时间:",date("Y-m-d H:i:s",$beginYesterday),'<br/>'

echo "昨日结束时间:",date("Y-m-d H:i:s",$endYesterday),'<br/>'

echo '<hr/>'

//php获取上周起始时间戳和结束时间戳

$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'))

$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'))

echo "上周开始时间戳和结束时间戳",'开始:',$beginLastweek,'结束:',$endLastweek,'<br/>'

echo "上周开始时间:",date("Y-m-d H:i:s",$beginLastweek),'<br/>'

echo "上周结束时间:",date("Y-m-d H:i:s",$endLastweek),'<br/>'

echo '<hr/>'

//php获取本月起始时间戳和结束时间戳

$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'))

$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'))

echo "本月开始时间戳和结束时间戳",'开始:',$beginThismonth,'结束:',$endThismonth,'<br/>'

echo "本月开始时间:",date("Y-m-d H:i:s",$beginThismonth),'<br/>'

echo "本月结束时间:",date("Y-m-d H:i:s",$endThismonth),'<br/>'

?>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7226353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存