| DATEOFYEAR | EXTRACT | FROM_DAYS | FROM_UNIXTIME |
| HOUR | LAST_DAY | LOCALTIME | LOCALTIMESTAMP |
1、DATEOFYEAR
DATEOFYEAR(expr) :返回一个从 1 到 366 代表给定日期是一年中的第几天的数字。
- 如果指定的表达式不是一个合法的日期或者日期时间,
DAYOFYEAR()函数将返回NULL。- 如果参数为
NULL,DAYOFYEAR()函数将返回NULL。
SELECT
DAYOFYEAR('2024-01-01'),
DAYOFYEAR('2024-01-31'),
DAYOFYEAR('2024-02-28 10:10:10'),
DAYOFYEAR('2024-02-00'),
DAYOFYEAR('2024-02-30'),
DAYOFYEAR('Not A DATE'),
DAYOFYEAR(NULL)

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

2、EXTRACT
EXTRACT(unit FROM date) :从指定的日期/时间中提取指定的部分并返回。
|
| SECOND | MINUTE | HOUR |
DAY | WEEK | MONTH | QUARTER |
YEAR | SECOND_MICROSECOND | MINUTE_MICROSECOND | MINUTE_SECOND |
HOUR_MICROSECOND | HOUR_SECOND | HOUR_MINUTE | DAY_MICROSECOND |
DAY_SECOND | DAY_MINUTE | DAY_HOUR | YEAR_MONTH |
如果指定的表达式不是一个合法的日期或者日期时间,
EXTRACT()函数将返回NULL。如果参数为
NULL,EXTRACT()函数将返回NULL。
SELECT
EXTRACT(YEAR FROM '2024-02-28') AS A,
EXTRACT(MONTH FROM '2024-02-28') AS B,
EXTRACT(DAY FROM '2024-02-28') AS C,
EXTRACT(HOUR FROM '10:11:12') AS D,
EXTRACT(MINUTE FROM '10:11:12') AS E,
EXTRACT(SECOND FROM '10:11:12') AS F,
EXTRACT(HOUR FROM '2024-02-28 10:11:12') AS G,
EXTRACT(MINUTE FROM '2024-02-28 10:11:12') AS H,
EXTRACT(SECOND FROM '2024-02-28 10:11:12') AS I

3、FROM_DAYS
FROM_DAYS(days) :将指定的天数转为日期并返回。FROM_DAYS() 函数与 TO_DAYS() 函数是相反的。
SELECT
FROM_DAYS(738579),
FROM_DAYS(738580);
-- 结果
+-------------------+-------------------+
| FROM_DAYS(738579) | FROM_DAYS(738580) |
+-------------------+-------------------+
| 2022-02-28 | 2022-03-01 |
+-------------------+-------------------+
4、FROM_UNIXTIME
FROM_UNIXTIME(unix_timestamp[, format]) :将 UNIX 时间戳数值转为日期时间,并可根据指定的格式格式化。
如果不提供
format参数,FROM_UNIXTIME()函数将返回一个日期时间类型的值;否则FROM_UNIXTIME()函数将按照format格式返回个字符串。如果参数为
NULL,FROM_UNIXTIME()函数将返回NULL。
SELECT FROM_UNIXTIME(1649839394);
-- 结果
+---------------------------+
| FROM_UNIXTIME(1649839394) |
+---------------------------+
| 2022-04-13 08:43:14 |
+---------------------------+
SELECT FROM_UNIXTIME(1649839394, '%Y%m%d%H%i%S');
-- 结果
+-------------------------------------------+
| FROM_UNIXTIME(1649839394, '%Y%m%d%H%i%S') |
+-------------------------------------------+
| 20220413084314 |
+-------------------------------------------+
5、HOUR
HOUR(time) :提取并返回时间的小时部分。
- 如果
time中没有小时部分,HOUR()函数将返回0。- 如果参数为
NULL,HOUR()函数将返回NULL。- 因为 MySQL 支持的最大时间为
838:59:59,HOUR()函数的最大返回值是838。
SELECT
HOUR('10:10:10'),
HOUR('2024-02-28 10:10:10'),
HOUR('123:10:10'),
HOUR('1234:10:10'),
HOUR('2024-02-00'),
HOUR('2024-02-30'),
HOUR('Not A DATE'),
HOUR(NULL)

6、LAST_DAY
LAST_DAY(date) :返回指定的日期时间所在当月的最后一天。
SELECT
LAST_DAY('2019-02-01'),
LAST_DAY('2020-02-01'),
LAST_DAY('2021-02-01'),
LAST_DAY('2022-02-01'),
LAST_DAY('2022-02-01 10:11:12')

7、LOCALTIME
LOCALTIME() :按 YYYY-MM-DD hh:mm:ss 格式返回当前时间和日期。
LOCALTIME() 函数与 NOW() 函数完全相同。
SELECT
LOCALTIME,
LOCALTIME(),
LOCALTIME() + 1;

8、LOCALTIMESTAMP
LOCALTIMESTAMP() :按 YYYY-MM-DD hh:mm:ss 格式返回当前时间和日期。
LOCALTIMESTAMP() 函数与 NOW() 函数完全相同。
SELECT
LOCALTIME,
LOCALTIME(),
LOCALTIME() + 1;

MySQL日期时间函数介绍
474

被折叠的 条评论
为什么被折叠?



