ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 如何格式化数据类型为 timestamp with time zone 的显示格式

如何格式化数据类型为 timestamp with time zone 的显示格式

原创 Linux操作系统 作者:ZALBB 时间:2019-06-11 09:12:05 0 删除 编辑

数据类为 TIMESTAMP(6) WITH TIME ZONE 的字段在显示日期时总是这样:

SQL> select last_start_date from user_scheduler_jobs;

LAST_START_DATE
-----------------------------------
21-MAR-06 03.00.00.421000 AM +08:00

20-MAR-06 10.00.02.734000 PM +08:00
20-MAR-06 10.00.02.734000 PM +08:00

我不习惯.421000 AM +08:00 这一段,对我来说,精确到秒即可,前段时间琢磨着,DATE类型的显示格式可以被这样设置:ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'。于是尝试着往注册表里加NLS_TIMESTAMP_FORMAT 来格式化该字段的显示格式,但屡次测试,都失败。NND,问了ORACLE,才知道是这个参数:


SQL> create table tt(id1 timestamp, id2 timestamp with time zone);

Table created.

SQL> insert into tt select sysdate, sysdate from dual;

1 row created.

SQL> commit;

Commit complete.

SQL> select * from tt;

ID1 ID2
------------------------------------- -------------------------------------
21-MAR-06 03.00.12.000000 PM 21-MAR-06 03.00.12.000000 PM +08:00

SQL> alter session set nls_timestamp_format='yyyy-mm-dd hh24:mi:ss';

Session altered.

SQL> select * from tt;

ID1 ID2
------------------------------------- -------------------------------------
2006-03-21 15:00:12 21-MAR-06 03.00.12.000000 PM +08:00

SQL> alter session set nls_timestamp_tz_format='yyyy-mm-dd hh24:mi:ss';

Session altered.

SQL> select * from tt;

ID1 ID2
------------------------------------- -------------------------------------
2006-03-21 15:00:12 2006-03-21 15:00:12


SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Prod
PL/SQL Release 10.2.0.2.0 - Production
CORE 10.2.0.2.0 Production
TNS for 32-bit Windows: Version 10.2.0.2.0 - Production
NLSRTL Version 10.2.0.2.0 - Production

SQL>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/1112/viewspace-103715/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-08-15

  • 博文量
    46
  • 访问量
    39130