我知道我可以在這樣的陳述句中轉義字串:
select 'That''s a really funny ''joke''' from dual; --returns: That's a really funny 'joke'
或者像這樣:
select q'[That's a really funny 'joke']' from dual; --returns: That's a really funny 'joke'
兩者都作業正常。
假設我需要在那個 select 陳述句中完全轉義一個字串,我還需要使用一個函式。
select q'[myfunction(somestringvariable)]' from dual;
當然,這只回傳“myfunction(somestringvariable)”
如前所述,我需要轉義函式的結果(不能在函式內部完成,轉義需要在此 select 陳述句中發生)。
我可以在用“q”轉義的字串中以某種方式使用該函式嗎?
謝謝!
uj5u.com熱心網友回復:
在函式結果中加雙單引號:
REPLACE(myfunction(somestringvariable), '''', '''''')
uj5u.com熱心網友回復:
Oracle 不支持模板文字。
只需使用:
SELECT myfunction(somestringvariable) FROM DUAL;
或者,如果函式不回傳字串:
SELECT TO_CHAR(myfunction(somestringvariable)) FROM DUAL;
如果要連接帶引號的字串文字和函式結果,請使用字串連接。
SELECT q'[That's a really funny 'joke']'
|| myfunction(somestringvariable)
FROM DUAL;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/349309.html
