PL/SQL 时间显示格式 NLS_TIMESTAMP_FORMAT

文章讲述了在PL/SQL查询中处理时间戳问题,通过TO_CHAR和TO_DATE函数转换,以及如何在Oracle环境中设置NLS_TIMESTAMP_FORMAT以达到所需的时间格式显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用PL/SQL查询数据库数据的时候,如果时间格式为时间戳TIMESTAMP,那么查询结果数据显示就很异样!
在这里插入图片描述

其实使用 to_char 函数转换后得到如下结果
在这里插入图片描述
示例:

SELECT TO_CHAR(TO_DATE(‘2008-01-29 00:05:10’, ‘yyyy-mm-dd hh24:mi:ss’),‘yyyy-mm-dd hh:mi:ss am’) FROM DUAL

解决方法:
为了能直接修改时间,我们只需要在系统属性-高级-环境变量-系统变量 中增加如下设置:

NLS_TIMESTAMP_FORMAT
YYYY-MM-DD HH24:MI:SS:FF6

pl/sql developer 中读取的是注册表中设置的 NLS_TIMESTAMP_FORMAT 格式,那么只要在注册表中设置 Oracle 环境变量的地方(也就是设置 ORACLE_HOME 的地方)设置 NLS_TIMESTAMP_FORMAT 的格式(也就是创建这样一个字符串项,然后设置它的值为你转换需要的掩码,一般设置为 YYYY-MM-DD HH24:MI:SS:FF6),然后关掉 PL/SQL DEVELOPER,再继续登陆,以后我们看到的 TIMESTAMP 时间就会自动转换成大家需要的格式了。
在这里插入图片描述部分转载自:https://blog.csdn.net/rosanu_blog/article/details/7969937

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值