我正在使用此查詢在我的 SQL 查詢中拆分文本區域欄位的字串:
select * from "MyTable" a
where NAME in (select * from
TABLE(apex_string.split(:P23_TEXTAREA, ',')))
它可以作業,但我想用換行符而不是逗號來分割字串。我已經嘗試過 "\n", "\r\n", "
" 但沒有成功。如果我洗掉分隔符并使用默認值,則字串只會用新行拆分一次。如何用多個換行符分隔我的字串?
uj5u.com熱心網友回復:
你可以試試這個CHR功能:
SELECT *
FROM TABLE(apex_string.split(:P23_TEXTAREA, CHR(10)))
或包含換行符的字串文字:
SELECT *
FROM TABLE(apex_string.split(:P23_TEXTAREA, '
'))
你的:P23_TEXTAREA值是:'TRI_1000'||CHR(13)||CHR(10)||'TRI_10'如果你在CHR(10)(LF) 上拆分它會給你值'TRI_1000'||CHR(13),'TRI_10'第二個可能會匹配,但第一個不會由于尾隨回車 (CR) 字符。
看來您需要修剪結果或在 CR/LF(或可選的 CR)上拆分,而不僅僅是 LF:
SELECT *
FROM "MyTable"
WHERE name IN (SELECT *
FROM TABLE(apex_string.split(:P23_TEXTAREA, '\r?\n'))
)
要么:
SELECT *
FROM "MyTable"
WHERE name IN (SELECT RTRIM(COLUMN_VALUE, CHR(13))
FROM TABLE(apex_string.split(:P23_TEXTAREA, CHR(10)))
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/434211.html
上一篇:ruby如何使用gets.to_i將小數保留在哈希值內
下一篇:管理重疊的日期
