Oracle数据库:如何将连续日期数字转换回指定格式日期
Oracle儒略日数字转回指定格式日期的方法
你通过TO_CHAR(date, 'j')生成的是**儒略日(Julian Day)**数字,它代表从公元前4713年1月1日起累计的天数。要将这个数字转回目标格式的日期,只需用TO_DATE函数指定格式模型为'j',再按需格式化即可。
示例代码
转回指定格式的日期字符串
SELECT TO_CHAR(TO_DATE(2415021, 'j'), 'DD.MM.YYYY') AS formatted_date FROM DUAL;
执行后会返回01.01.2101,和你最初的输入日期一致。
直接获取日期类型结果
如果不需要格式化字符串,仅需日期类型数据:
SELECT TO_DATE(2415021, 'j') AS original_date FROM DUAL;
注意事项
- 确保传入的儒略日数字在Oracle支持的范围内:对应日期大致为公元前4713年1月1日至公元9999年12月31日,超出范围会触发报错。
内容的提问来源于stack exchange,提问作者Moribundus
相关产品推荐
相关产品推荐

