oracle:To_char
在Oracle中,将日期转换为字符串主要通过TO_CHAR函数实现,该函数支持丰富的格式化参数来控制输出样式:
- 日期部分格式化
年份:YYYY(四位年)、YY(两位年)、YEAR(英文全拼)
月份:MM(数字月)、MON(缩写如NOV)、MONTH(全拼如NOVEMBER)
日:DD(月中的日)、DDD(年中的日)、DY(星期缩写如FRI)、DAY(星期全拼如FRIDAY)
时间:HH24(24小时制)、HH12(12小时制)、MI(分钟)、SS(秒)、FF(毫秒)
- 修饰符与特殊格式
FM前缀:去除前导空格或零(如FMYYYY)
文字字符:可在格式中添加-、/等分隔符(如YYYY-MM-DD)
附加信息:AD/BC(纪元标识)、Q(季度)、WW(年周数)
示例代码
-- 基础格式转换
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM dual;
-- 输出:2025-10-16 15:07:25
-- 包含文字和修饰符
SELECT TO_CHAR(SYSDATE, 'FMDAY, MONTH DD, YYYY "at" HH12:MI PM') FROM dual;
-- 输出:THURSDAY, OCTOBER 16, 2025 at 03:07 PM
注意事项
默认格式为DD-MON-YY,但显式指定格式可避免区域设置差异
若需处理时间戳,可使用TO_TIMESTAMP函数
12小时制需搭配AM/PM标识