我有簡單的INSERT這樣的:INSERT INTO表不同的日期(DD-1,毫米基於條件)
INSERT INTO table_1
(FIX_DATA, VAR_DATA, DATE)
SELECT 'row1', t.value, g.value
FROM temp t, table_2 g
WHERE t.condition = g.condition
在TABLE_1我有基於上述條件插入幾千的值。但現在我需要做的INSERT在TABLE_1以下這個條件:
- 如果g.value '20 .03.2017' 然後插入'19 .07.2017' - > DD - 1 g.value,毫米 - 1這個月。
- 如果g.value '20 .07.2017'則從當前月的g.value,mm - 1插入'19。077.2017' - > dd - 1。
- 如果g.value '03 .08.2017'則從當前月的g.value,mm插入'02 .08.2017' - > dd - 1。
- 如果g.value '03 .03.2017'則從當前月份的g.value,mm插入'02 .08.2017' - > dd - 1。
結論是,日總是-1,月份是-1如果日< 4和當前月如果日=> 4。格式爲dd.mm.yyyy。
任何想法如何做到這一點?
此致敬禮。
我會將select語句放在遊標中。然後使用記錄循環遊標。當循環時,你可以做一個插入和修改值,如果你喜歡。 – Tenzin
查看CASE報表: https://www.techonthenet.com/oracle/functions/case.php –