当前位置: 首页 > article >正文

MySQL 【日期】函数大全(四)

目录

1、MAKEDATE() 根据年份和一年中天数创建一个日期并返回。

2、MAKETIME() 指定的时、分、秒创建一个时间并返回。

3、MINUTE() 函数提取并返回时间的分钟部分。

4、MONTH() 函数提取日期的月份部分并作为数字返回。

5、MONTHNAME() 返回给定日期的月份的名字。

6、NOW() 函数按 YYYY-MM-DD hh:mm:ss 格式返回当前时间和日期。

7、PERIOD_ADD() 在指定年月上加上指定的月数将结果作为年月返回。

8、PERIOD_DIFF() 返回两个通过年月指定的时期之间相差的月数。


MAKEDATE() MAKETIME() MINUTE() MONTH() 
MONTHNAME() NOW()PERIOD_ADD() 

 PERIOD_DIFF() 

1、MAKEDATE() 根据年份和一年中天数创建一个日期并返回。

MAKEDATE(year, day_of_year)

year:表示年份的 4 位数字。

day_of

_year:一年中的第几天。应该大于 0

SELECT
    MAKEDATE(2024, 1),
    MAKEDATE(2024, 31),
    MAKEDATE(2024, 32),
    MAKEDATE(2024, 0)

2、MAKETIME() 指定的时、分、秒创建一个时间并返回。

MAKETIME(hour, minute, second)

hour:小时。

minute:分钟,取值范围从 0 到 59

second:秒,取值范围从 0 到 59

  • 如果 minute 不在 0 到 59 之间,MAKETIME() 函数将返回 NULL
  • 如果 second 不在 0 到 59 之间,MAKETIME() 函数将返回 NULL

注意:MySQL 支持的时间的范围是从 -838:59:59 到 838:59:59

SELECT
    MAKETIME(10, 11, 12),
    MAKETIME(100, 11, 12),
    MAKETIME(839, 11, 12),
    MAKETIME(-999, 11, 12),
    MAKETIME(10, 11, 12),
    MAKETIME(10, 60, 12),
    MAKETIME(10, 11, 75)

3、MINUTE() 函数提取并返回时间的分钟部分。

MINUTE(time)

time:一个时间或者日期时间表达式。

  • MINUTE() 函数的返回值介于 0 到 59 之间。
  • 如果参数为 NULLMINUTE() 函数将返回 NULL
SELECT
    MINUTE('10:11:12'),
    MINUTE('2024-02-28 10:11:12');

4、MONTH() 函数提取日期的月份部分并作为数字返回。

MONTH(date)

date:一个日期或者日期时间表达式。

  • MONTH() 函数的返回值介于 1 到 12 之间。
  • 如果参数为 NULLMONTH() 函数将返回 NULL
SELECT
    MONTH('2024-02-28'),
    MONTH('2024-02-28 10:11:12');

5、MONTHNAME() 返回给定日期的月份的名字。

MONTHNAME(date)

date:一个日期或者日期时间表达式。

  • MONTHNAME() 返回值将是以下值中的一个: JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember
  • 如果指定的表达式不是一个合法的日期或者日期时间,MONTHNAME() 函数将返回 NULL
  • 如果参数为 NULLMONTHNAME() 函数将返回 NULL
SELECT
    MONTHNAME('2024-01-01'),
    MONTHNAME('2024-11-01'),
    MONTHNAME('2024-12-01'),
    MONTHNAME('Not A DATE'),
    MONTHNAME(NULL)

SELECT
    MONTHNAME(NOW()),
    MONTHNAME(CURDATE()),
    MONTHNAME(CURRENT_DATE()),
    MONTHNAME(SYSDATE())

6、NOW() 函数按 YYYY-MM-DD hh:mm:ss 格式返回当前时间和日期。

        与 SYSDATE()SYSDATE()SYSDATE() 函数不同,NOW() 函数返回的是所在的语句、函数、存储过程开始执行的时间,并不一定是执行的 NOW() 函数时确切的系统时间。

SELECT NOW(), NOW() + 1;

7、PERIOD_ADD() 在指定年月上加上指定的月数将结果作为年月返回。

PERIOD_ADD(period, month_number)

period:使用 YYYYMM 或 YYMM 格式表示的时期。

month_number:需要加到 period 上的月数。

PERIOD_ADD() 函数返回值是一个数字,格式是 YYYYMM

如果参数为 NULLPERIOD_ADD() 函数将返回 NULL

SELECT
    PERIOD_ADD(202401, 1),
    PERIOD_ADD(202401, 2),
    PERIOD_ADD(202401, 12)

8、PERIOD_DIFF() 返回两个通过年月指定的时期之间相差的月数。

PERIOD_DIFF(period1, period2)

period1:格式: YYYYMM 或 YYMM

period2:格式: YYYYMM 或 YYMM

SELECT
    PERIOD_DIFF(202402, 202401),
    PERIOD_DIFF(202403, 202401),
    PERIOD_DIFF(202401, 202301)


http://www.kler.cn/a/349894.html

相关文章:

  • ollama + fastgpt+m3e本地部署
  • AI视频监控卫士:免费开源,一键安装轻松实现智能监控
  • Unity客户端HR面面经
  • 人工智能学习框架
  • Springboot 接入 WebSocket 实战
  • AMBA:AHB的历史(从AHB2到AHB5)
  • 0基础能不能转行做网络安全?
  • linux信号 | 学习信号四步走 | 全解析信号的产生方式
  • Flume面试整理-常见的Sink类型
  • 中小型医院网站:Spring Boot开发策略
  • 安装TDengine数据库3.3版本和TDengine数据库可视化管理工具
  • 杂记9---C++工程目录一键生成脚本分享
  • 2015年-2016年 软件工程程序设计题(算法题)实战_c语言程序设计数据结构程序设计分析
  • Spring Security自定义登录接口处理JSON请求体
  • 开源OpenStack
  • 施磊C++ | 进阶学习笔记 | 5.设计模式
  • H3Linux部署iMC智能管理中心平台PLAT-7.3_E0706实验
  • 基于java SpringBoot和Vue校园食堂网站管理系统设计
  • 51 | 适配器模式:代理、适配器、桥接、装饰,这四个模式有何区别?
  • 【数据结构】之学习路线