MariaDB TO_CHAR() 函数使用指南
在 MariaDB 中,TO_CHAR()
是一个内置的字符串函数,它将给定的日期/时间值按照给定的格式转换为字符串。
MariaDB TO_CHAR()
语法
这里是 MariaDB TO_CHAR()
函数的语法:
TO_CHAR(v[, fmt])
参数
v
- 必需的。日期/时间值。 你应该使用字符串提供该参数。
fmt
- 可选的。转换时依据的格式。格式字符串可以是以下任何一种或者几种的组合:
YYYY
YYY
YY
RRRR
RR
MM
MON
MONTH
MI
DD
DY
HH
HH12
HH24
SS
- 特殊字符
YYYY-MM-DD HH24:MI:SS
默认的格式。
如果您不提供参数或提供了错误数量的参数, MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_CHAR'
。
返回值
MariaDB TO_CHAR()
函数返回一个字符串,它由给定的日期/时间值按照给定的格式转换而来。
MariaDB TO_CHAR()
示例
基本示例
这个语句展示了如何使用 MariaDB TO_CHAR()
函数将日期 2023-01-01
转为字符串:
SELECT TO_CHAR('2023-01-01');
输出:
+-----------------------+
| TO_CHAR('2023-01-01') |
+-----------------------+
| 2023-01-01 00:00:00 |
+-----------------------+
在本示例中,由于没有指定 fmt
参数,TO_CHAR()
使用 YYYY-MM-DD HH24:MI:SS
作为默认的输出格式。
您也可以使用 TO_CHAR()
输出一个日期时间值,如下:
SELECT TO_CHAR('2023-01-01 01:01:01');
输出:
+--------------------------------+
| TO_CHAR('2023-01-01 01:01:01') |
+--------------------------------+
| 2023-01-01 01:01:01 |
+--------------------------------+
指定格式
下面的语句使用 MariaDB TO_CHAR()
函数按照 YYYY-MM-DD
格式输出一个日期时间值:
SELECT TO_CHAR('2023-01-01 01:01:01', 'YYYY-MM-DD');
输出:
+----------------------------------------------+
| TO_CHAR('2023-01-01 01:01:01', 'YYYY-MM-DD') |
+----------------------------------------------+
| 2022-12-25 |
+----------------------------------------------+
您同样可以只输出 年份,如下:
SELECT TO_CHAR('2023-01-01 01:01:01', 'YYYY');
输出:
+----------------------------------------+
| TO_CHAR('2023-01-01 01:01:01', 'YYYY') |
+----------------------------------------+
| 2022 |
+----------------------------------------+
无效日期
如果您提供了一个无效的日期,TO_CHAR()
将返回 NULL
并显示警告:
SELECT TO_CHAR('2023-02-31');
输出:
+-----------------------+
| TO_CHAR('2023-02-31') |
+-----------------------+
| NULL |
+-----------------------+
让我们检查一下警告:
SHOW WARNINGS;
输出:
+---------+------+----------------------------------------+
| Level | Code | Message |
+---------+------+----------------------------------------+
| Warning | 1292 | Incorrect datetime value: '2023-02-31' |
+---------+------+----------------------------------------+
无效格式
如果您提供了一个无效的格式,TO_CHAR()
将返回一个错误:
SELECT TO_CHAR('2023-01-01', 'This is a invalid format');
输出:
ERROR 3047 (HY000): Invalid argument error: date format not recognized at This is a invalid format in function to_char.
结论
在 MariaDB 中,TO_CHAR()
是一个内置的字符串函数,它将给定的日期/时间值按照给定的格式转换为字符串。