我想在我的動態sql查詢中使用一個參數,但只是無法讓它工作。我簡化了代碼,只突出顯示了我正在努力的部分。參數和teradata動態SQL
我首先創建't1',我插入記錄。
創建易失性表t1爲(
選擇日期 '1900-01-01' 作爲date_col的
)上提交保存行的數據;
第一個程序正常工作,並插入給定日期(2014-01-01)。
替換過程mi_table.dynamic_param()
開始
CALL DBC.SYSEXECSQL(
'插入到T1
選擇日期 '||'''2014-01 -01'''||';'
);
end;
我真正想要做的,不工作,有幾分像這樣:
更換過程mi_table.dynamic_param() 開始
申報max_avail_date日期;
set max_avail_date =(從db.table中選擇period_dt);
CALL DBC.SYSEXECSQL(
'插入到T1 選擇 '||:max_avail_date ||';'
);
end;
哪個不起作用。看起來像'(從db.table選擇period_dt)'返回的是'yy/mm/dd'格式。感謝以下建議,我提出了以下(非優雅)解決方案:
每當我想使用max_avail_date,我使用 cast((cast('''||'20'||'' '||'''|| max_avail_date ||'''int)-19000000)作爲日期)。
它的工作,但我敢肯定有做:)
2014-09-27編輯一個更好的方式,6:50 PM
奇怪,我不能得到'設置max_avail_date =日期「2014年1月1日」;'上班,想我必須有脂肪手指的東西。 – Andrew 2014-09-26 21:25:12
非常感謝您的回答。另外,好的一點,我沒有說什麼不起作用。說實話,我並不瞭解自己。我做了更多的測試,現在我想我知道問題在哪裏。讓我編輯我的初始帖子。當簡化我的查詢時,我擺脫了我認爲我認爲是關鍵要素的東西。 – 2014-09-27 22:41:29