如何从Oracle数据库获取完整精度时间戳并导出至Excel
Oracle时间戳格式化保留9位小数秒解决方案
- 原查询问题:未包含小数秒的格式化规则,且时间部分的分隔符与目标格式不匹配,导致丢失小数秒部分。
- 正确格式化参数:使用
FF9指定保留9位小数秒,同时将时间分隔符改为点(.)以匹配目标格式。
正确SQL语句
TO_CHAR(your_timestamp_column, 'DD-MON-RR HH.MI.SS.FF9 AM') AS formatted_timestamp
参数说明
DD-MON-RR:日-英文月份缩写-两位年份(RR比YY更适配跨世纪年份处理)HH.MI.SS:12小时制的小时.分钟.秒,用点分隔符合目标格式FF9:保留9位小数秒,对应原始值中的.676676888部分AM:显示上下午标识
适配不同NLS语言环境(可选)
如果数据库的NLS_DATE_LANGUAGE不是英文,需显式指定语言确保月份缩写为英文:
TO_CHAR(your_timestamp_column, 'DD-MON-RR HH.MI.SS.FF9 AM', 'NLS_DATE_LANGUAGE=ENGLISH') AS formatted_timestamp
内容的提问来源于stack exchange,提问作者Balaji R B
相关产品推荐
相关产品推荐

