我有一個要求,我希望以特定格式返回基於一列(Idx)的輸出。在一列中,我們有基於該循環的日期範圍應該執行。Oracle如何返回特定格式的字符串
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);
如果輸入低於
ID NM VAL IDX
1 CNTRY USA 1
1 DT 2017-01-01,2017-01-02 2
1 PART NA 3
輸出應該是這樣將基於IDX柱
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
DELETE FROM t_table_test WHERE IDX = 3; 承諾; O/P DT:2017-01-01,CNTRY:USA?DT:2017-01-02,CNTRY:USA DELETE FROM t_table_test WHERE idx = 1; 承諾; O/P DT:2017-01-01?DT:2017-01-02 需要查詢在上述所有情況下哪項工作。
只是要清楚:如果多個記錄中的VAL列包含多個值會發生什麼?例如,如果NM = CNTRY和VALUE = USA,CANADA和IDX = 1,以及NM = DT和VAL = 2017-01-01,2017-01-02和IDX = 2? – Assafs
由於多個值將只存在於DT,其他列中沒有多個條目。 – Vikas