Mysql时间加减函数为
date_add()、
date_sub()
定义和用法
DATE_ADD() 函数向日期添加指定的时间间隔。
DATE_SUB() 函数向日期减少指定的时间间隔。
语法
DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)
date
参数是合法的日期表达式。
expr
参数是您希望添加的时间间隔。
type
参数可以是下列值:
Type 值
|
MICROSECOND
|
SECOND
|
MINUTE
|
HOUR
|
DAY
|
WEEK
|
MONTH
|
QUARTER
|
YEAR
|
SECOND_MICROSECOND
|
MINUTE_MICROSECOND
|
MINUTE_SECOND
|
HOUR_MICROSECOND
|
HOUR_SECOND
|
HOUR_MINUTE
|
DAY_MICROSECOND
|
DAY_SECOND
|
DAY_MINUTE
|
DAY_HOUR
|
YEAR_MONTH
|
1. MySQL 为日期增加一个时间间隔:date_add()
set @dt = now();
select date_add(@dt, interval 1 day); - 加1天
select date_add(@dt, interval 1 hour); -加1小时
select date_add(@dt, interval 1 minute); - 加1分钟
select date_add(@dt, interval 1 second); -加1秒
select date_add(@dt, interval 1 microsecond);-加1毫秒
select date_add(@dt, interval 1 week);-加1周
select date_add(@dt, interval 1 month);-加1月
select date_add(@dt, interval 1 quarter);-加1季
select date_add(@dt, interval 1 year);-加1年
例:更新某个时间,每个时间加上一个星期
UPDATE comment c set c.time = DATE_ADD(c.time, INTERVAL 7 DAY) ;
2. MySQL 为日期减去一个时间间隔:date_sub(),格式同
date_add()类似
例子:更新某个时间,使每个时间减少一个月
UPDATE comment c set c.time = DATE_SUB(c.time, INTERVAL 1 MONTH)
Mysql时间加减函数为date_add()、date_sub()定义和用法DATE_ADD() 函数向日期添加指定的时间间隔。DATE_SUB() 函数向日期添加指定的时间间隔。语法DATE_ADD(date,INTERVAL expr type)DATE_SUB(date,INTERVAL expr type)date 参数是合法的日期表达式。expr参
sql中两个日期相减
1、相差天数
select trunc(sysdate,'yyyy')-to_date('2009-01-04','yyyy-mm-dd') from dual;
2、相差月数
select months_between(trunc(sysdate,'mm'),to_date('2009-01','yyyy-mm')) from dual;
3、相差年数
select trunc((months_between(trunc(sysdate,'dd'),to_date('2009-0
3.select CONCAT(DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 7 DAY),’%Y-%m-%d’),’ 00:00:00’) 七天之前格式化
(SELECT SUM(in_amount) FROM stock_in WHERE company_id=30044 AND is_deleted=0 )
(SELECT SUM(out_amount) FROM stock_out WHERE company_id=30044 AND is_deleted=0)
)as "贮存量结果"
SELECT DATE_FORMAT(date,'%Y-%m-%d') AS date FROM (
SELECT DATE_ADD('开始日期', INTERVAL t4+t16+t64+t256+t1024+t4096 DAY) AS date
FROM (SELECT AS t4 UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) t4,
(SELECT AS t16 UNION ALL SELECT 4 UNION ALL SELECT 8 UNION ALL SELECT 12) t16,
(SELECT AS t64 UNION ALL SELECT 16 UNION ALL SELECT 32 UNION ALL SELECT 48) t64,
(SELECT AS t256 UNION ALL SELECT 64 UNION ALL SELECT 128 UNION ALL SELECT 192) t256,
(SELECT AS t1024 UNION ALL SELECT 256 UNION ALL SELECT 512 UNION ALL SELECT 768) t1024,
(SELECT AS t4096 UNION ALL SELECT 1024 UNION ALL SELECT 2048 UNION ALL SELECT 3072) t4096
WHERE DATE_ADD('开始日期', INTERVAL t4+t16+t64+t256+t1024+t4096 DAY) <= '结束日期'
) AS a
其中,将“开始日期”和“结束日期”替换为您需要查询的
时间
段的起始日期和结束日期即可。