oracle 字段显示时间,解决Oracle timestamp字段时间显示问题

在使用PL/SQL Developer查询数据表时,表中字段类型为timestamp的列,显示的内容类似于“15-5月 -18 10.40.00.380000 上午”,调用to_char函数显示的结果为:“2018-05-18 15:20:00.110000”。对于DBA来说,后一种显示内容更友好些。

对带有timestamp列的表进行查询,如果说每次都转换为char来显示,那么这个操作效率有点低下。可不可以设置参数来控制格式显示呢,答案是可以的。

方式一:

执行:alter session set nls_timestamp_format='yyyy-mm-dd hh24:mi:ss.ff6';

方式二:

在Windows操作系统的系统环境变量中添加变量名:nls_timestamp_format,变量值:yyyy-mm-dd hh24:mi:ss.ff6 然后重启PL/SQL Developer.

重新执行查询,timestamp列中内容显示为“2018-05-18 15:20:00.110000”这样的格式。

需要说明的是ff6表示6位毫秒,一般情况下毫秒位数是3位。所以终极版本格式为:yyyy-mm-dd hh24:mi:ss.ff3

另外由于windows对于大小写是不敏感的 ,所以nls_timestamp_format也可以用大写的变量名NLS_TIMESTAMP_FORMAT

同时执行方式一和方式二时,方式一中session有优先级高于环境变量。举个例子,环境变量中设置格式为:yyyy-mm-dd hh24:mi:ss.ff3,但在程序中执行alter session set nls_timestamp_format='yyyy-mm-dd hh24:mi:ss.ff5'; 那么最终显示的内容是带有5位毫秒的时间”2018-05-18 15:20:00.11000“。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值