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

目录

[1、TIME_FORMAT() 按照指定的格式格式化时间。](#1、TIME_FORMAT() 按照指定的格式格式化时间。)

[2、TIME_TO_SEC() 将指定的时间值转为秒数。](#2、TIME_TO_SEC() 将指定的时间值转为秒数。)

[3、TIMEDIFF() 返回两个时间之间的差值。](#3、TIMEDIFF() 返回两个时间之间的差值。)

[4、TIMESTAMP() 累加所有参数并将结果作为日期时间值返回。](#4、TIMESTAMP() 累加所有参数并将结果作为日期时间值返回。)

[5、TIMESTAMPADD() 将指定的时间间隔加到一个日期时间值上并返回结果。](#5、TIMESTAMPADD() 将指定的时间间隔加到一个日期时间值上并返回结果。)

[6、TIMESTAMPDIFF() 返回两个日期时间之间的时间间隔。](#6、TIMESTAMPDIFF() 返回两个日期时间之间的时间间隔。)

[7、UNIX_TIMESTAMP() 将指定的日期/日期时间转为距离 UTC 时间 1970-01-01 00:00:00 的秒数。](#7、UNIX_TIMESTAMP() 将指定的日期/日期时间转为距离 UTC 时间 1970-01-01 00:00:00 的秒数。)

[8、TO_DAYS() 将指定日期转为距离 0 年的天数并返回。](#8、TO_DAYS() 将指定日期转为距离 0 年的天数并返回。)

[9、TO_SECONDS() 将指定的日期/日期时间转为距离 0 年的秒数并返回结果。](#9、TO_SECONDS() 将指定的日期/日期时间转为距离 0 年的秒数并返回结果。)


|--------------|---------------|----------------|--------------------|
| TIME_FORMAT | IME_TO_SEC | TIMEDIFF | TIMESTAMP |
| TIMESTAMPADD | TIMESTAMPDIFF | UNIX_TIMESTAMP | TO_DAYS、TO_SECONDS |

1、TIME_FORMAT() 按照指定的格式格式化时间。

TIME_FORMAT(time, format)

*time:*需要格式化的时间。

*format:*格式化模式字符串。

格式化符号:

占位符 说明
%f 微秒 (000000..999999)
%H 小时 (00..23)
%h 小时 (01..12)
%I 小时 (01..12)
%i 分钟 (00..59)
%k 小时 (0..23)
%l 小时 (1..12)
%p AM 或者 PM
%r 十二小时制时间 (hh:mm:ss 后跟 AMPM)
%S 秒 (00..59)
%s 秒 (00..59)
%T 二十四小时制时间 (hh:mm:ss)
%% 转义 %
sql 复制代码
SELECT
    TIME_FORMAT("19:30:10", "%H %i %s"),
    TIME_FORMAT("19:30:10", "%h %i %s %p"),
    TIME_FORMAT("19:30:10", "%r"),
    TIME_FORMAT("19:30:10", "%T"),
    TIME_FORMAT("19:30:10", "%H %i %s")

2、TIME_TO_SEC() 将指定的时间值转为秒数。

sql 复制代码
SELECT
    TIME_TO_SEC('10:10:10') ,
    TIME_TO_SEC('10:10') ,
    TIME_TO_SEC('10');

3、TIMEDIFF() 返回两个时间之间的差值。

TIMEDIFF(time1, time2)

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

*time2:*另一个时间或者日期时间表达式。
返回一个 HH:MM:SS 格式的时间值。

如果指定的表达式不是一个合法的时间或者日期时间,TIMEDIFF() 函数将返回 NULL

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

sql 复制代码
SELECT
    TIMEDIFF('12:12:12', '12:10:10'),
    TIMEDIFF('12:12:12', '10:10:10');
sql 复制代码
SELECT TIMEDIFF('2024-02-28 12:12:12', '2024-02-21 10:10:10');
sql 复制代码
SELECT TIMEDIFF(NOW(), '2024-02-28 10:10:10');

4、TIMESTAMP() 累加所有参数并将结果作为日期时间值返回。

TIMESTAMP(date_or_datetime)

TIMESTAMP(date_or_datetime, time)

date_or_datetime: 一个日期或者日期时间表达式。格式: YYYY-MM-DD 或者 YYYY-MM-DD HH:MM:SS

time: 一个时间值。格式:HH:MM:SS

sql 复制代码
SELECT TIMESTAMP('2024-02-28');
sql 复制代码
SELECT TIMESTAMP('2024-02-28', '10:10:10');
sql 复制代码
SELECT TIMESTAMP('2024-02-28 12:00:00', '12:00:00');

5、TIMESTAMPADD() 将指定的时间间隔加到一个日期时间值上并返回结果。

TIMESTAMPADD(unit, interval, datetime)

unit: 时间间隔的单位,可用值有: MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR.

*interval:*一个表示时间间隔的整数值。

*datetime:*一个 datetime 值或表达式。

sql 复制代码
SELECT
    TIMESTAMPADD(WEEK, 1, '2024-02-28'),
    TIMESTAMPADD(DAY, 7, '2024-02-28');

6、TIMESTAMPDIFF() 返回两个日期时间之间的时间间隔。

TIMESTAMPDIFF(unit, datetime1, datetime2)

unit: 时间间隔的单位,可用值有: MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR.

*datetime1:*一个 datetime 值或表达式。

*datetime2:*一个 datetime 值或表达式。

sql 复制代码
SELECT
    TIMESTAMPDIFF(YEAR, '2024-12-28', '2024-02-28'),
    TIMESTAMPDIFF(MONTH, '2024-02-28', '2023-02-28'),
    TIMESTAMPDIFF(MONTH, '2023-02-28', '2024-02-28')

7、UNIX_TIMESTAMP() 将指定的日期/日期时间转为距离 UTC 时间 1970-01-01 00:00:00 的秒数。

sql 复制代码
SELECT
    UNIX_TIMESTAMP('2024-10-10'),
    UNIX_TIMESTAMP(NOW());

8、TO_DAYS() 将指定日期转为距离 0 年的天数并返回。

TO_DAYS() 函数与 FROM_DAYS()

函数是相反的。

sql 复制代码
SELECT
    TO_DAYS('2024-02-28'),
    TO_DAYS('2024-03-01');

9、TO_SECONDS() 将指定的日期/日期时间转为距离 0 年的秒数并返回结果。

sql 复制代码
SELECT
    TO_SECONDS('2024-02-28'),
    TO_SECONDS('2024-02-28 10:10:10');
相关推荐
l1t9 小时前
改写ITPUB newkid的求解数独DuckDB SQL为Clickhouse格式
数据库·sql·clickhouse·duckdb
IT教程资源D10 小时前
[N_148]基于微信小程序网上书城系统
mysql·vue·uniapp·前后端分离·网上书城小程序·springboot书城
国服第二切图仔10 小时前
鸿蒙应用开发之实现键值型数据库跨设备数据同步
数据库·wpf·harmonyos
盒马coding11 小时前
PostgreSQL18新功能COPY命令变得更加用户友好
数据库·postgresql
️️(^~^)11 小时前
触发器,存储过程
数据库
罗光记11 小时前
Quantinuum 发布新型量子计算机“Helios“
数据库·经验分享·其他·百度·twitter
友友马11 小时前
『 数据库 』MySQL索引深度解析:从数据结构到B+树的完整指南
数据库·mysql
SelectDB12 小时前
替换 ClickHouse,查询并发提升 7 倍!高途教育基于阿里云 SelectDB 构建秒级实时报表
数据库·apache
JamSlade12 小时前
优化用户体验的小点:乐观更新链路 双数据库查询
数据库·ux
IT教程资源D12 小时前
[N_151]基于微信小程序校园学生活动管理平台
mysql·校园活动小程序·springboot校园活动