更改日期精度值

asd*_*sdf 0 date-format alter-table update oracle-12c

说明:我有一个日期格式为“mm/dd/yyyy”的 oracle 数据库表和一个包含日期列的唯一约束。我的问题是我似乎无法找到更改内部日期格式的方法,我需要深入到第二个(即“mm/dd/yyyy hh12:mi:ss”)。我不想更改输出格式的查询,我想更改要更新的存储值。

问题:甚至可以将数据库精度降低到秒吗?如果是这样,我假设它是更新或更改命令?

Dit*_*tto 5

我有一个日期格式为“mm/dd/yyyy”的 oracle 数据库表

不,你不......;)

您有一个日期数据类型的 Oracle 数据库表。时期。

任何类型的“格式”仅用于显示,并且很容易修改。

  SQL> create table junk ( id number,  dd  date );

  Table created.

  SQL> insert into junk values ( 1, sysdate );

  1 row created.

  SQL> commit;

  Commit complete.

  SQL> select * from junk;

          ID DD
  ---------- ---------
           1 31-MAY-16

  SQL>
  SQL> alter session set nls_date_format='dd-mon-yyyy hh24:mi:ss'
    2  /

  Session altered.

  SQL> select * from junk;

          ID DD
  ---------- --------------------
           1 31-may-2016 11:17:44

  SQL>
Run Code Online (Sandbox Code Playgroud)

OracleDATE数据类型包含年 + 月 + 日 + 小时 + 分钟 + 秒信息。如何显示/使用它取决于您。

请注意,TIMESTAMP除了 DATE 保存的内容之外,Oracle数据类型还保存毫秒。

如果您实际显示您的表定义、您的查询并解释您遇到的问题以及您想看到的内容,那么为您提供更具体的答案会容易得多。