oracle字段显⽰时间,解决Oracletimestamp字段时间显⽰问题在使⽤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”这样的格式。
oracle 时间转换
需要说明的是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“。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。