如何将一个表中的值插入同一数据库中的另一个表中?而且只从日期中减去年份?

例如

CREATE TABLE A(
    YEAR NUMber(4) NOT NULL,LENGTH NUMber(5,2) NOT NULL,CONSTRAINT AVGYEAR_PKEY PRIMARY KEY(YEAR))

CREATE TABLE B(
    ID1              NUMber(10)      NOT NULL,DATE_DONE        DATE            NOT NULL,CONSTRAINT TRIP_PKEY PRIMARY KEY (ID1),);

我想在表A中插入值,但是表A中的YEAR值必须从表b中获取,并且只需要'YYYY'而不是整个日期。

我会做这样的事吗

insert into A VALUES(YEAR value,LENGTH value)
insert into A VALUES(select TO_CHAR((DATE_DONE),'YYYY') from B,10.5);
roger2009gao 回答:如何将一个表中的值插入同一数据库中的另一个表中?而且只从日期中减去年份?

如果我理解得很好,这可能就是您所需要的。

说你有

SQL> select * from B;

       ID1 DATE_DONE
---------- ---------
         1 01-JAN-19
         2 31-DEC-18
         3 01-JUN-17

SQL> select * from A;

no rows selected

与此

SQL> insert into a(year,length) select extract(year from date_done),10 from B;

3 rows created.

您得到:

SQL> select * from A;

      YEAR     LENGTH
---------- ----------
      2019         10
      2018         10
      2017         10

如果您需要与众不同,可以这样:

insert into a(year,length) select DISTINCT extract(year from date_done),10 from B;
本文链接:https://www.f2er.com/3116701.html

大家都在问