我想從SQL查詢(oracle 11)中的文本框中返回第一行文本。文本框的內容如下所示:Oracle SQL:使用regexp_substr返回字符串的第一行
X WITHDRAWN
Explanation.
我想返回第一行,即X WITHDRAWN。我不確定是否可以指定僅查看第一行,或者只是在回車之前返回所有文本 - 兩者都可以。
我想我需要使用regexp_substr,但我對語法不太確定。我曾嘗試過:
regexp_substr(TABLE.TEXT,'^.*$')
但它沒有工作,所以任何援助將不勝感激!
編輯:使用的解決方案:
select regexp_substr(TABLE.TEXT, '[^,]+['||CHR(10)||']') from tab
編輯:我注意到我正在我的回答返回換行和回車的混合物,所以我採用如下方案:僅返回文本並沒有額外的字符。
select
replace(replace(regexp_substr(TABLE.TEXT, '[^,]+['||CHR(10)||']'),CHR(10),''),CHR(13),'')
from tab
編輯:繼@本的答案,我已經修改了我的解決方案如下:
select
initcap(replace(regexp_substr(TABLE.TEXT, '.*$', 1, 1, 'm'),CHR(13),''))
from tab
+1是的,你的解決方案比我的更好。 – Parado
感謝您的答案本,雖然@ Parado的工作是爲了我的目的,但我認爲這是最好的答案,因爲我只需要刪除字符13,而不是字符10。 – bawpie