MariaDB TO_CHAR() 函数使用指南
在 MariaDB 中,TO_CHAR() 是一个内置的字符串函数,它将给定的日期/时间值按照给定的格式转换为字符串。
MariaDB TO_CHAR() 语法
这里是 MariaDB TO_CHAR() 函数的语法:
TO_CHAR(v[, fmt])
参数
v- 必需的。日期/时间值。 你应该使用字符串提供该参数。
fmt- 可选的。转换时依据的格式。格式字符串可以是以下任何一种或者几种的组合:
YYYYYYYYYRRRRRRMMMONMONTHMIDDDYHHHH12HH24SS- 特殊字符
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() 是一个内置的字符串函数,它将给定的日期/时间值按照给定的格式转换为字符串。