上一篇
场景引入:
凌晨3点,程序员小张盯着屏幕抓狂——数据库里一堆2025-08-20 15:30:00
这样的时间数据,老板却要求导出成"2025年8月20日 下午3点30分"的格式。😱 别慌!OceanBase的TO_CHAR
函数就是你的"时间翻译官",今天我们就来解锁它的花式玩法!
TO_CHAR(datetime, format_model)
举个🌰:
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL; -- 输出:2025-08-20 15:30:00
符号 | 效果 | 示例 |
---|---|---|
YYYY | 4位年份 | 2025 |
YY | 2位年份 | 25 |
MM | 月份(01-12) | 08 |
MON | 月份缩写 | 8月 |
DAY | 星期全称 | 星期二 |
DD | 月中的日(01-31) | 20 |
符号 | 效果 | 示例 |
---|---|---|
HH24 | 24小时制小时 | 15 |
HH | 12小时制小时 | 03 |
MI | 分钟(00-59) | 30 |
SS | 秒(00-59) | 45 |
AM/PM | 上午下午标识 | 下午 |
符号 | 效果 |
---|---|
直接输出连字符 | |
输出斜杠 | |
"文字" | 直接输出引号内文字 |
SELECT TO_CHAR(SYSDATE, 'YYYY"年"MM"月"DD"日" HH24"时"MI"分"') FROM DUAL; -- 输出:2025年08月20日 15时30分
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD DAY PM HH:MI:SS') FROM DUAL; -- 输出:2025-08-20 星期二 下午 03:30:00
SELECT TO_CHAR(SYSDATE, 'YYYYMMDD_HH24MISS') || '.log' FROM DUAL; -- 输出:20250820_153000.log
'mm'
表示分钟,'MM'
才是月份,写错可能让"08月"变成"00分" 😅 OceanBase的TO_CHAR
还支持季度显示!用'Q'
即可:
SELECT TO_CHAR(SYSDATE, 'YYYY"年 第"Q"季度"') FROM DUAL; -- 输出:2025年 第3季度
下次当日期时间数据和你"语言不通"时,记得祭出TO_CHAR
这个万能翻译器吧! 🎉 如果还有其他OceanBase问题,欢迎在评论区扔过来~
本文由 水梦菲 于2025-08-04发表在【云服务器提供商】,文中图片由(水梦菲)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://up.7tqx.com/wenda/530342.html
发表评论