> 技术文档 > 在 OceanBase 中,使用 TO_CHAR 函数 直接转换日期格式,简洁高效的解决方案

在 OceanBase 中,使用 TO_CHAR 函数 直接转换日期格式,简洁高效的解决方案

SQL语句

SELECT TO_CHAR(TO_DATE(your_column, \'DD-MON-YY\'), \'YYYY-MM-DD\') AS formatted_dateFROM your_table;

关键说明:

  1. 核心函数

    • TO_DATE(\'30-三月-15\', \'DD-MON-YY\') → 将字符串转为日期类型

    • TO_CHAR(..., \'YYYY-MM-DD\') → 格式化为 2015-03-30

  2. 处理中文月份(OceanBase 特有技巧):

    SELECT TO_CHAR( TO_DATE(\'30-三月-15\', \'DD-MON-YY\', \'NLS_DATE_LANGUAGE = \'\'SIMPLIFIED CHINESE\'\'\'), \'YYYY-MM-DD\' ) FROM DUAL;
    • 添加 NLS_DATE_LANGUAGE 参数确保正确解析中文月份

示例输出:

原始字段 (your_column) 转换结果 (formatted_date) 30-三月-15 2015-03-30 05-十二月-23 2023-12-05

注:若字段本身就是日期类型(非字符串),直接使用:

SELECT TO_CHAR(your_date_column, \'YYYY-MM-DD\') FROM your_table;