Je travaille avec des procédures stockées dans netezza. Je veux créer 12 dates en ajoutant des mois à la date de naissance d'une personne. Je veux ajouter_months (dob, 1) 12 fois pour chaque personne dans la liste.Toutes les idées pour y parvenir, vraiment apprécié. Ajouter plusieurs lignes en fonction de la date en utilisant proc sql sur le serveur Netezza
0
A
Répondre
0
Ce n'est pas l'approche procédurale mais en utilisant SQL, vous pouvez obtenir la sortie comme vous le souhaitez.
Créer une table indicateur:
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);
table originale contenant des valeurs:
create table test1 (col1 char(5),col2 date);
insert into test1 values ('A','01-Jan-2000');
insert into test1 values ('A2','03-Mar-1998');
Maintenant, la requête finale pour obtenir la sortie:
SELECT col1
,to_char(add_months(col2, indicator), 'DD-MM-YYYY') as_date
FROM test1
,test
ORDER BY col1
,as_date;
sortie:
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