xnpz.net
当前位置:首页 >> mysql 时间减一个月 >>

mysql 时间减一个月

使用函数 DATE_ADD(date,INTERVAL expr type) DATE_ADD(date,INTERVAL 1 MONTH)

set @dt = now(); select extract(year_month from date_add(@dt, interval -1 month)); select extract(year_month from date_add(@dt, interval -1 year)); 这样就可以了

获取30天前当天的日期,然后用工具类在写出这段时间内的日期数组。代码很简单,不建议把sql弄复杂了。

select * from table where date_column between '2011-07' and DATE_ADD('2011-07',INTERVAL 1 MONTH)

declare @dt datetime set @dt=GETDATE() select DATEADD(mm,-6,@dt); --减半年 select DATEADD(yy,-1,@dt); --减1年

select * from 表 where date_format(日期,'%Y-%m-%d')='2014-04-01' 日期 select * from 表 where date_format(日期,'%Y-%m')='2014-04' 月份 select * from 表 where date_format(日期,'%Y')='2014' 年 就是date_format(日期,'%Y-%m-%d')这里...

第一个 表.DETE列 >= TRUNC( TO_DATE( 外部传入的开始时间, '-MM-DD' ), 'MM') 是大于等于 开始时间的那个月的第一天。 第二个 表.DETE列 < ADD_MONTHS (TRUNC( TO_DATE( 外部传入的结束时间, '-MM-DD' ), 'MM'), 1) 是 小于 结束时间下一个月的...

$startime = time() - 3600 * 24 * 30); $endtime = time(); $sql = SELECT * FROM `table` WHERE `endtime` between ".$startime." and ".$endtime;

试试: select date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(day from now()) day),interval 0 month) as date;

SQL SERVER: SELECT DATEADD( minute,-10,GETDATE()) ORACLE: SELECT to_char(sysdate -interval '10' minute,'yyyy-mm-dd hh24:mi:ss') from dual

网站首页 | 网站地图
All rights reserved Powered by www.xnpz.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com