我有一個表格,我必須從中提取一些數據。循環遍歷列,名稱幾乎相同
有一些列是相同的,但除了一個名稱的最後一個過去,這是一個數字。我解釋一下:
我的startDate和結束日期多次做出這樣:
startDate1 | endDate1 |startDate2 | endDate2 |startDate3 | endDate3
等等
而且,我想提取數據,逐個 所以startDate1和ENDDATE1第一,然後startDate2和ENDDATE2 ...
所以我做了這樣的事情:
FOR i IN 1..10 LOOP
IF reg.startDate ||i is not null THEN
--TODO
END IF;
END LOOP;
Reg是一個遊標上的一行。
當然,這不起作用,因爲我們不能像這樣連接(我忽略了一條語句)。
我想如果一個循環,這將是一樣的,如果我這樣做:
IF reg.startDate1 is not null THEN
--TODO
END IF;
IF reg.startDate2 is not null THEN
--TODO
END IF;
IF reg.startDate3 is not null THEN
--TODO
END IF;
所以,像這樣:
FOR i IN 1..10 LOOP
IF reg.startDate||i is not null THEN
--TODO
END IF;
END LOOP;
所以我得到這個數據,在不同的列:
startDate1 | endDate1 |startDate2 | endDate2 |startDate3 | endDate3
18/07/2013 | 19/07/2013 | 18/08/2013 | 19/08/2013 | 18/09/2013 | 19/09/2013
我想是這樣的:
FOR i IN 1..10 LOOP
IF reg.startDate ||i is not null THEN
insert into table (date) values (reg.endDate |i);
END IF;
END LOOP;
聽到了,我會插入19/07/2013,19/08/2013,19/09/2013。
我真的不知道那裏有什麼不清楚。
這是可能做到這一點,或沒有級聯?
問題標題可能是錯誤的,但我不知道如何以一種標題以其他方式提問。
定義 「是不行的,因爲我們不能連接這樣的」。另外,添加一些示例輸入數據加上預期的輸出將會有很大的幫助。 –
@FrankSchmitt好吧,我只想使用由startDate開始的'reg.startDate || i' foreach列來獲取數據。由於循環,我必須避免多if條款。我在做什麼不會影響循環。 –
*請*添加樣品輸入+預期輸出。完全不清楚您是否有包含所有連接日期值或完全不同的輸入字符串。 –