2016-10-25 1 views
0

Я работаю с хранимыми процедурами в netezza. Я хочу создать 12 дат, добавив несколько месяцев к дате рождения человека. Я хочу add_months (dob, 1) 12 раз для каждого человека в списке. Все идеи о том, как его достичь, действительно оценены. enter image description hereДобавить несколько строк на основе даты с использованием proc sql на сервере Netezza

ответ

0

Это не процедурный подход, но с использованием sql вы можете получить результат по желанию.

Создание индикатора таблицы:

create table test (indicator int); 
insert into test values (0); 
insert into test values (1); 
insert into test values (2); 
insert into test values (3); 
insert into test values (4); 
insert into test values (5); 
insert into test values (6); 
insert into test values (7); 
insert into test values (8); 
insert into test values (9); 
insert into test values (10); 
insert into test values (11); 

Исходная таблица, содержащая значения:

create table test1 (col1 char(5),col2 date); 

insert into test1 values ('A','01-Jan-2000'); 
insert into test1 values ('A2','03-Mar-1998'); 

Теперь окончательный запрос, чтобы получить выход:

SELECT col1 
    ,to_char(add_months(col2, indicator), 'DD-MM-YYYY') as_date 
FROM test1 
    ,test 
ORDER BY col1 
    ,as_date; 

Выход:

A 1/1/2000 
A 1/2/2000 
A 1/3/2000 
A 1/4/2000 
A 1/5/2000 
A 1/6/2000 
A 1/7/2000 
A 1/8/2000 
A 1/9/2000 
A 1/10/2000 
A 1/11/2000 
A 1/12/2000 
A2 3/1/1999 
A2 3/2/1999 
A2 3/3/1998 
A2 3/4/1998 
A2 3/5/1998 
A2 3/6/1998 
A2 3/7/1998 
A2 3/8/1998 
A2 3/9/1998 
A2 3/10/1998 
A2 3/11/1998 
A2 3/12/1998 
Смежные вопросы