首页 java数据 mysql时间日期相加相减实现

mysql时间日期相加相减实现

select * from yq1012 where core_lyq.endDate = date_add(‘2015…

select  * from  yq1012
where    core_lyq.endDate   =
date_add('2015-06-24', interval 1 month)

 

mysql时间日期相加相减实现
分享篇mysql中日期的一些操作,就是我们常常会用到的mysql时间日期的相加或者相减的了,这个mysql也自己带了函数,有需要的朋友可以参考一下。

最简单的方法

select TO_DAYS(str_to_date('12/1/2001 12:00:00 AM','%m/%d/%Y')) -
TO_DAYS(str_to_date('11/28/2001 12:00:00 AM','%m/%d/%Y'))  as a from table1

得出天数

SELECT TO_DAYS('1999-02-01)-TO_DAYS('1999-01-01')



下面是mysql参考手册上的说明
MySQL 为日期增加一个时间间隔:date_add()

set @dt = now();
select date_add(@dt, interval 1 day); -- add 1 day
select date_add(@dt, interval 1 hour); -- add 1 hour
select date_add(@dt, interval 1 minute); -- ...
select date_add(@dt, interval 1 second);
select date_add(@dt, interval 1 microsecond);
select date_add(@dt, interval 1 week);
select date_add(@dt, interval 1 month);
select date_add(@dt, interval 1 quarter);
select date_add(@dt, interval 1 year);
select date_add(@dt, interval -1 day); -- sub 1 day

MySQL adddate(), addtime()函数,可以用 date_add() 来替代。下面是 date_add() 实现 addtime() 功能示例:
mysql> set @dt = '2008-08-09 12:12:33';
mysql>
mysql> select date_add(@dt, interval '01:15:30' hour_second);
+------------------------------------------------+
| date_add(@dt, interval '01:15:30' hour_second) |
+------------------------------------------------+
| 2008-08-09 13:28:03 |
+------------------------------------------------+
mysql> select date_add(@dt, interval '1 01:15:30' day_second);
+-------------------------------------------------+
| date_add(@dt, interval '1 01:15:30' day_second) |
+-------------------------------------------------+
| 2008-08-10 13:28:03 |
+-------------------------------------------------+

date_add() 函数,分别为 @dt 增加了“1小时 15分 30秒” 和 “1天 1小时 15分 30秒”。建议:总是使用 date_add() 日期时间函数来替代 adddate(), addtime()。



2. MySQL 为日期减去一个时间间隔:date_sub()

mysql> select date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second);
+----------------------------------------------------------------+
| date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second) |
+----------------------------------------------------------------+
| 1997-12-30 22:58:59 |

 

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

mysql  优化提升

mysql 优化提升

desc  分别使用DESCRIBE和DESC查看表tb dept1和表tb emp1的表结构。 查看表详细结构语句SH...
navicat 能打开root链接不知道密码直接修改mysql 密码

navicat 能打开root链接不知道密码直接修改mysql 密码

找到系统自带 mysql 数据库   update user set password= password(&...
Cannot access aliyunmaven ( xxx ) in offline mode and the artifact

Cannot access aliyunmaven ( xxx ) in offline mode and the artifact

Cannot access aliyunmaven ( xxx ) in offline mode and the ar...
mysql 基础入门

mysql 基础入门

第一章 SQL的介绍 1.1什么是sql SQL:Structure Query Language。(结构化查询语言),...
You can’t specify target table ‘caiji_data_meiwen’ for update in FROM clause

You can’t specify target table ‘caiji_data_meiwen’ for update in FROM clause

  mysql 中不能自己 引用本身 要再加一层 不行 DELETE from `caiji_data_mei...
返回顶部