Login
网站首页 > 文章中心 > 其它

Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用

作者:小编 更新时间:2023-08-17 07:32:11 浏览量:63人看过

INTERVAL代表的是时间间隔MySQL中的时间间隔类型有如下几种:

Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用

示例:

加法:SQL>SELECT DATE '2018-11-01' + INTERVAL '10 11' DAY_HOUR;

Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用-图1

结果:2018-11-11 11:00:00

减法:SQL> select date '2018-11-11 11:00:00' -INTERVAL '10 11' DAY_HOUR ;

格式:EXTRACT(unit FROM date)

unit取值表:

Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用

示例1:

SELECT 
  EXTRACT(YEAR FROM NOW()) AS years ,
  EXTRACT(MONTH FROM NOW()) AS months,
  EXTRACT(DAY FROM NOW()) AS days;

结果:

Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用

 SELECT NOW(),EXTRACT(DAY_SECOND FROM NOW());

Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用

DATE_SUB有个相反的函数DATE_ADD(),但因为业务上用DATE_SUB的情况多,而且DATE_SUB也能实现增加时间间隔的功能,所以我大多用DATE_SUB.

格式: DATE_SUB(日期, 时间间隔, 时间间隔类型type)

时间间隔即interval函数间隔类型type可取:

Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用

SELECT DATE_SUB('2018-11-11 12:00',INTERVAL '0 12' DAY_HOUR);

Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用

SELECT DATE_SUB('2018-11-11 12:00',INTERVAL '1 2 3 4' DAY_SECOND);

Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用

SELECT DATE_SUB('2018-11-11 12:00',INTERVAL '1 2' YEAR_MONTH);

Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用

①首先用 函数 查询出来这个月过了几天select EXTRACT(DAY FROM NOW()) DAY

SELECT 
DATE_SUB(DATE_FORMAT(NOW(), '%y-%m-%d'),
INTERVAL EXTRACT(DAY FROM NOW()) DAY);

Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用

①算出这个月过了几天

select EXTRACT(DAY FROM NOW()) DAY;
select EXTRACT(DAY FROM NOW())-1  DAY;
SELECT
 DATE_SUB(DATE_FORMAT(NOW(), '%y-%m-%d'),
 INTERVAL EXTRACT(DAY FROM NOW()) - 1 DAY);

Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用

SELECT DATE_SUB(DATE_SUB(DATE_FORMAT(NOW(), '%y-%m-%d'),INTERVAL EXTRACT(DAY FROM NOW()) - 1 DAY),INTERVAL 1 MONTH);

Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用

以上就是土嘎嘎小编为大家整理的Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章