MariaDB FROM_UNIXTIME() 函数的基础用法与实例
MariaDB FROM_UNIXTIME() 函数是一个日期和时间函数,它可以将一个 Unix 时间戳(以秒为单位的整数)转换为一个日期时间值。
MariaDB FROM_UNIXTIME() 函数是一个日期和时间函数,它可以将一个 Unix 时间戳(以秒为单位的整数)转换为一个日期时间值。Unix 时间戳是指从 1970 年 1 月 1 日(UTC)开始经过的秒数。FROM_UNIXTIME() 函数可以用于将 Unix 时间戳转换为人类可读的格式,或者用于与其他日期时间函数进行计算或比较。
语法
FROM_UNIXTIME() 函数的语法如下:
FROM_UNIXTIME(unix_timestamp, [format])
其中,unix_timestamp 是一个 Unix 时间戳,必须是一个整数或可以转换为整数的表达式。如果 unix_timestamp 为 NULL,则函数返回 NULL。
format 是一个可选的参数,用于指定返回的日期时间值的格式。format 必须是一个字符串,可以包含以下占位符:
| 占位符 | 含义 |
|---|---|
| %a | 星期名的缩写(Sun..Sat) |
| %b | 月份名的缩写(Jan..Dec) |
| %c | 月份,数值(0..12) |
| %D | 带有英文后缀的月份中的天(1st, 2nd, 3rd, 等等) |
| %d | 月份中的天,数值(00..31) |
| %e | 月份中的天,数值(0..31) |
| %f | 微秒(000000..999999) |
| %H | 小时(00..23) |
| %h | 小时(01..12) |
| %I | 小时(01..12) |
| %i | 分钟,数值(00..59) |
| %j | 年份中的天(001..366) |
| %k | 小时(0..23) |
| %l | 小时(1..12) |
| %M | 月份名(January..December) |
| %m | 月份,数值(00..12) |
| %p | AM 或 PM |
| %r | 时间,12-小时(hh:mm:ss AM 或 PM) |
| %S | 秒(00..59) |
| %s | 秒(00..59) |
| %T | 时间, 24-小时(hh:mm:ss) |
| %U | 周(00..53),其中周日是周的第一天 |
| %u | 周(00..53),其中周一是周的第一天 |
| %V | 周(01..53),其中周日是周的第一天,与 %X 使用 |
| %v | 周(01..53),其中周一是周的第一天,与 %x 使用 |
| %W | 星期名(Sunday..Saturday) |
| %w | 周的天数(0..6),其中 0 为周日 |
| %X | 年,其中周日是周的第一天,4 位,与 %V 使用 |
| %x | 年,其中周一是周的第一天,4 位,与 %v 使用 |
| %Y | 年,4 位 |
| %y | 年,2 位 |
如果省略 format 参数,或者 format 为 NULL,则函数返回一个 DATETIME 类型的值,格式为 YYYY-MM-DD hh:mm:ss。如果 format 包含非法的占位符,或者与 unix_timestamp 不匹配的占位符,则函数返回 NULL。
实例
以下是一些使用 FROM_UNIXTIME() 函数的实例。
将 Unix 时间戳转换为默认的日期时间格式
SELECT FROM_UNIXTIME(1614087600);
输出:
2021-02-23 21:40:00这个实例将一个 Unix 时间戳 1614087600 转换为默认的日期时间格式 YYYY-MM-DD hh:mm:ss。
将 Unix 时间戳转换为指定的日期时间格式
SELECT FROM_UNIXTIME(1614087600, '%Y年%m月%d日 %H时%i分%s秒');
输出:
2021年02月23日 21时40分00秒这个实例将一个 Unix 时间戳 1614087600 转换为指定的日期时间格式 %Y年%m月%d日 %H时%i分%s秒。
将 Unix 时间戳转换为只包含日期的格式
SELECT FROM_UNIXTIME(1614087600, '%Y-%m-%d');
输出:
2021-02-23这个实例将一个 Unix 时间戳 1614087600 转换为只包含日期的格式 %Y-%m-%d。
将 Unix 时间戳转换为只包含时间的格式
SELECT FROM_UNIXTIME(1614087600, '%T');
输出:
21:40:00这个实例将一个 Unix 时间戳 1614087600 转换为只包含时间的格式 %T。
将 Unix 时间戳转换为带有微秒的格式
SELECT FROM_UNIXTIME(1614087600.123456, '%Y-%m-%d %H:%i:%s.%f');
输出:
2021-02-23 21:40:00.123456这个实例将一个 Unix 时间戳 1614087600.123456 转换为带有微秒的格式 %Y-%m-%d %H:%i:%s.%f。
相关函数
以下是一些与 FROM_UNIXTIME() 函数相关的函数:
UNIX_TIMESTAMP()函数:将一个日期时间值转换为一个 Unix 时间戳。DATE_FORMAT()函数:将一个日期时间值按照指定的格式进行格式化。STR_TO_DATE()函数:将一个字符串按照指定的格式转换为一个日期时间值。
结论
MariaDB FROM_UNIXTIME() 函数是一个有用的函数,它可以将一个 Unix 时间戳转换为一个日期时间值,或者按照指定的格式进行格式化。它可以用于将 Unix 时间戳转换为人类可读的格式,或者用于与其他日期时间函数进行计算或比较。