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');
相关推荐
DemonAvenger几秒前
MySQL索引原理深度解析与优化策略实战
数据库·mysql·性能优化
1892280486135 分钟前
NY270NY273美光固态闪存NY277NY287
服务器·网络·数据库·科技·性能优化
星霜笔记4 小时前
Docker 部署 MariaDB+phpMyAdmin+Nextcloud 完整教程
运维·数据库·docker·容器·mariadb
poemyang8 小时前
十年大厂员工终明白:MySQL性能优化的尽头,是对B+树的极致理解
mysql·pagecache·顺序i/o·局部性原理·b tree·b+ tree
wyiyiyi10 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
天宇_任10 小时前
Mysql数据库迁移到GaussDB注意事项
数据库·mysql·gaussdb
xiep143833351013 小时前
Ubuntu 安装带证书的 etcd 集群
数据库·etcd
Java小白程序员14 小时前
Spring Framework:Java 开发的基石与 Spring 生态的起点
java·数据库·spring
老虎062714 小时前
数据库基础—SQL语句总结及在开发时
数据库·sql·oracle
爱掘金的土拨鼠16 小时前
国产化dm数据库锁表解锁
数据库