Я хочу динамически изменять имена столбцов набора результатов - PullRequest
1 голос
/ 06 ноября 2019

Я пытаюсь изменить имена столбцов в наборе результатов, динамически добавляя год из sysdate.

Итак, я попробовал что-то вроде этого:

create table TestTable (
      name varchar2(30),
      age  INTEGER
);

insert into TestTable values('johnny1',10);
insert into TestTable values('johnny2',15);

Select qry0.name,qry0.age as to_char("age" || qry1.theyear)
from (Select name,age from TestTable) qry0,
     (select to_char(sysdate,('YYYY'))as TheYear from dual)qry1;

Я пытаюсь получить заголовки столбцов, как это:

NAME    AGE2019

Спасибо

1 Ответ

3 голосов
/ 06 ноября 2019

Если вы используете что-то вроде SQLPlus для генерации вашего отчета, и вы просто ищете соответствующее имя в своем отчете, вы можете использовать переменную подстановки, например,

SQL> create table TestTable (
  2        name varchar2(30),
  3        age  INTEGER
  4  );

Table created.

SQL>
SQL> insert into TestTable values('johnny1',10);

1 row created.

SQL> insert into TestTable values('johnny2',15);

1 row created.

SQL> col xx new_value yy
SQL> select 'AGE'||to_char(sysdate,'YYYY') xx from dual;

XX
-------
AGE2019

SQL> select name, age &&yy from testtable;

NAME                              AGE2019
------------------------------ ----------
johnny1                                10
johnny2                                15
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...