Ich habe eine Anforderung, wo ich Ausgabe in einem bestimmten Format basierend auf einer Spalte (Idx) zurückgeben möchte. In einer Spalte haben wir den Datumsbereich basierend darauf, dass die Schleife ausgeführt werden soll.Oracle So geben Sie eine Zeichenfolge in einem bestimmten Format zurück
drop table t_table_test;
create table t_table_test (ID NUMBER, NM VARCHAR2(4000), VAL VARCHAR2(4000), IDX NUMBER);
select * from t_table_test;
INSERT INTO t_table_test VALUES (1,'CNTRY', 'USA',1);
INSERT INTO t_table_test VALUES (1,'DT', '2017-01-01,2017-01-02',2);
INSERT INTO t_table_test VALUES (1,'PART', 'NA',3);
Wenn Eingang unten ist
ID NM VAL IDX
1 CNTRY USA 1
1 DT 2017-01-01,2017-01-02 2
1 PART NA 3
Output sollte dies sein wird, werden anhand von IDX Spalte
CNTRY:USA,DT:2017-01-01,PART:NA?CNTRY:USA,DT:2017-01-02,PART:NA
I/P
ID NM VAL IDX
1 DT 2017-01-01,2017-01-02 1
1 CNTRY USA 2
1 PART NA 3
DT:2017-01-01,CNTRY:USA,PART:NA?DT:2017-01-02,CNTRY:USA,PART:NA
VON t_table_test DELETE WHERE idx = 3; commit; O/P DT: 2017-01-01, CNTRY: USA DT: 2017-01-02, CNTRY: USA LÖSCHEN VON t_table_test WHERE idx = 1; commit; O/P DT: 2017-01-01? DT: 2017-01-02 Fragen, die in allen oben genannten Fällen funktionieren.
Nur um klar zu sein: was würde passieren, wenn die Spalte VAL in mehr als einem Datensatz mehrere Werte enthalten würde? Zum Beispiel, wenn NM = CNTRY und VALUE = USA, KANADA und IDX = 1, sowie NM = DT und VAL = 2017-01-01,2017-01-02 und IDX = 2? – Assafs
Danke mehrere Werte werden nur für DT dort keine andere Spalte haben mehrere Einträge. – Vikas