📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

TO_STRING



将值转换为 String 数据类型,或将 Date 值转换为特定的字符串格式。要在 TiDB Cloud Lake 中自定义日期和时间的格式,可以使用格式说明符。这些说明符可让你定义日期和时间值的所需格式。有关支持的说明符完整列表,请参见 格式化日期和时间。

语法

TO_STRING( '<expr>' ) TO_STRING( '<date>', '<format>' )

日期格式样式

TiDB Cloud Lake 支持两种日期格式样式,可通过 date_format_style 设置进行选择:

  • MySQL(默认):使用与 MySQL 兼容的格式说明符,例如 %Y、%m、%d 等。
  • Oracle:使用 YYYY、MM、DD 等格式说明符,这些说明符遵循许多数据库系统中常用的标准化格式。

要在不同格式样式之间切换,请使用 date_format_style 设置:

-- Set Oracle-style date format SETTINGS (date_format_style = 'Oracle') SELECT to_string('2024-04-05'::DATE, 'YYYY-MM-DD'); -- Set MySQL date format style (default) SETTINGS (date_format_style = 'MySQL') SELECT to_string('2024-04-05'::DATE, '%Y-%m-%d');

Oracle 风格格式说明符

当 date_format_style 设置为 'Oracle' 时,支持以下格式说明符:

格式说明符描述示例输出(针对 '2024-04-05 14:30:45.123456')
YYYY4 位年份2024
YY2 位年份24
MMMM完整月份名称April
MON月份简称Apr
MM月份数字 (01-12)04
DD月内日期 (01-31)05
DY星期简称Fri
HH24小时 (00-23)14
HH12小时 (01-12)02
AM/PM上下午指示符PM
MI分钟 (00-59)30
SS秒 (00-59)45
FF小数秒123456
UUUUISO 周编号年份2024
TZH:TZM带冒号的时区小时和分钟+08:00
TZH时区小时+08

别名

返回类型

String。

示例

SELECT DATE_FORMAT('1.23'), TO_STRING('1.23'), TO_TEXT('1.23'), TO_VARCHAR('1.23'), JSON_TO_STRING('1.23'); ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ date_format('1.23') │ to_string('1.23') │ to_text('1.23') │ to_varchar('1.23') │ json_to_string('1.23') │ ├─────────────────────┼───────────────────┼─────────────────┼────────────────────┼────────────────────────┤ │ 1.23 │ 1.23 │ 1.23 │ 1.23 │ 1.23 │ └─────────────────────────────────────────────────────────────────────────────────────────────────────────┘ SELECT DATE_FORMAT('["Cooking", "Reading"]' :: JSON), TO_STRING('["Cooking", "Reading"]' :: JSON), TO_TEXT('["Cooking", "Reading"]' :: JSON), TO_VARCHAR('["Cooking", "Reading"]' :: JSON), JSON_TO_STRING('["Cooking", "Reading"]' :: JSON); ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ date_format('["cooking", "reading"]'::variant) │ to_string('["cooking", "reading"]'::variant) │ to_text('["cooking", "reading"]'::variant) │ to_varchar('["cooking", "reading"]'::variant) │ json_to_string('["cooking", "reading"]'::variant) │ ├────────────────────────────────────────────────┼──────────────────────────────────────────────┼────────────────────────────────────────────┼───────────────────────────────────────────────┼───────────────────────────────────────────────────┤ │ ["Cooking","Reading"] │ ["Cooking","Reading"] │ ["Cooking","Reading"] │ ["Cooking","Reading"] │ ["Cooking","Reading"] │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -- With one argument, the function converts input to a string without validating as a date. SELECT DATE_FORMAT('20223-12-25'), TO_STRING('20223-12-25'), TO_TEXT('20223-12-25'), TO_VARCHAR('20223-12-25'), JSON_TO_STRING('20223-12-25'); ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ date_format('20223-12-25') │ to_string('20223-12-25') │ to_text('20223-12-25') │ to_varchar('20223-12-25') │ json_to_string('20223-12-25') │ ├────────────────────────────┼──────────────────────────┼────────────────────────┼───────────────────────────┼───────────────────────────────┤ │ 20223-12-25 │ 20223-12-25 │ 20223-12-25 │ 20223-12-25 │ 20223-12-25 │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -- Using MySQL format style (default) SELECT DATE_FORMAT('2022-12-25', '%m/%d/%Y'), TO_STRING('2022-12-25', '%m/%d/%Y'), TO_TEXT('2022-12-25', '%m/%d/%Y'), TO_VARCHAR('2022-12-25', '%m/%d/%Y'), JSON_TO_STRING('2022-12-25', '%m/%d/%Y'); ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ date_format('2022-12-25', '%m/%d/%Y') │ to_string('2022-12-25', '%m/%d/%Y') │ to_text('2022-12-25', '%m/%d/%Y') │ to_varchar('2022-12-25', '%m/%d/%Y') │ json_to_string('2022-12-25', '%m/%d/%Y') │ ├───────────────────────────────────────┼─────────────────────────────────────┼───────────────────────────────────┼──────────────────────────────────────┼──────────────────────────────────────────┤ │ 12/25/2022 │ 12/25/2022 │ 12/25/2022 │ 12/25/2022 │ 12/25/2022 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -- Using Oracle format style (same data as MySQL example above) SETTINGS (date_format_style = 'Oracle') SELECT TO_STRING('2022-12-25', 'MM/DD/YYYY'), TO_CHAR('2022-12-25', 'MM/DD/YYYY'); -- Using TO_CHAR alias ┌─────────────────────────────────────────────────────────────────┐ │ to_string('2022-12-25', 'MM/DD/YYYY') │ to_char('2022-12-25', 'MM/DD/YYYY') │ ├─────────────────────────────────────┼───────────────────────────────────┤ │ 12/25/2022 │ 12/25/2022 │ └─────────────────────────────────────────────────────────────────────────────────────────────────────────┘

文档内容是否有帮助?