APEX - 添加两列并在第三列中显示结果

APEX - Adding two columns and showing the result in a third column

在对象浏览器的 APEX 中,我在名为“Project_Management”的 table 中创建了以下列。现在我一直想要我的

如何以及在何处从对象浏览器中声明这些?

  1. Start_date
  2. Start_Time
  3. 时长
  4. End_date
  5. End_Time

那是一个虚拟列

SQL> create table test
  2    (start_date date,
  3     duration   number,
  4     --
  5     end_date as (start_date + duration)        --> this is a virtual column
  6    );

Table created.

SQL> insert into test (start_date, duration) values (date '2022-01-24', 2);

1 row created.

SQL> select * from test;

START_DATE            DURATION END_DATE
------------------- ---------- -------------------
24.01.2022 00:00:00          2 26.01.2022 00:00:00
                               -------------------
                               END_DATE got its value although it wasn't inserted    

你没有说你使用了哪些数据类型。 Oracle 没有单独的日期和时间数据类型;那只是 DATE,其中包含

当您向日期添加一个数字时,您实际上是在添加 的天数(这就是 24.01.2022 + 2 的原因= 26.01.2022).

您说过要将相同的值 (duration) 添加到 start_time 列。我不知道您对此有何期望(尽管没有 TIME 数据类型)。

当您将 interactive grid 区域添加到您的页面时,请指定您的 table Project_Management 以收集您命名为 column1、column2 和 column3 的列。

如果您将该查询更改为类似以下内容:

select pm.col1, pm.col2, pm.col3, to_char(col1) || ' ' || to_char(col3) as. col4, to_char(col2) || ' ' || to_char(col3) as. col5, from Project_Management;

您现在还会看到新的串联列:

注意:根据您的列类型,您可能需要使用 to_char 以外的其他操作,或者您可能想要使用 DATEFORMAT,例如 to_char(col1,'DD/MM/YYYY HH24:MI');