向oracle插入数据时存储时间table

Store time while inserting data into oracle table

在我的一个专栏中,我也想在以下条件下存储时间。下面是查询。

APPROVED_DATE = CASE WHEN PAPPROVED_BY IS NULL THEN NULL ELSE SYSDATE END,

如何在SYSDATE中添加时间部分

它已经存在了;如果您没有看到它,那是因为您的 NLS 设置。以下是您可以执行的操作的示例:ALTER SESSION 或使用 TO_CHAR:

SQL> create table test (approved_Date date);

Table created.

SQL> insert into test values (sysdate);

1 row created.

SQL> select * from test;

APPROVED
--------
05.01.18

SQL> select to_char(approved_Date, 'dd.mm.yyyy hh24:mi:ss') from test;

TO_CHAR(APPROVED_DA
-------------------
05.01.2018 10:37:38

SQL> alter session set nls_date_format = 'dd-mm-yyyy hh:mi:ss am';

Session altered.

SQL> select * from test;

APPROVED_DATE
----------------------
05-01-2018 10:37:38 AM

SQL>

您的 CASE 代码 运行 完全没问题。您只需要更改您的显示设置,因为 sysdate 中已经有时间元素。

如果您使用的是PL/SQL,请转到

工具 > 首选项 > Date/Time

并根据您的要求更改格式。

并在访问该字段时使用 to_char(sysdate , 'DD/MM/YYYY hh24:mi:ss')