[英]how to grep the string using special character as delimiter in oracle?
[英]How split a string left to the second delimiter from the right and there is special character in delimiter?
我有一個完整的地址行的字段應該由換行符''分隔,如下所示
Primary_Address_-_Full
3903 NE 45th Street
APT 204
Seattle, WA 98105

20504 NE 21st Ct.
Sammamish, WA 98074

219 W Callender St
# A2-2
Livingston, MT 59047

102 Branegan Ct
Unit A
Bozeman, MT 59715

8923 Ravenna Ave NE
Seattle, WA 98115

我想要的結果是在右端第二個“”之前,即城市名稱之前的所有內容。 我不用擔心結果字符串中的左'',盡管沒有它們會更好,因為我以后可以隨時替換它。
結果將是:
Primary_Address
3903 NE 45th Street
APT 204
20504 NE 21st Ct.
219 W Callender St
102 Branegan Ct
Unit A
8923 Ravenna Ave NE
我嘗試了分割功能,但未提供所需的結果。 非常感謝你的幫助。
您可以通過依次定位字符並將字符串長度段加在一起來實現。 我認為這有點hack,最好在數據庫外部的正則表達式中完成。
select left(value,
len(value) - (charindex(char(10), reverse(value)) +
charindex(char(10), substring(reverse(value), charindex(char(10),
reverse(value))+1, len(value)))))
from
(select replace(YourField, '
', char(10)) as value from test2) x;
您也可以使用另一個替換項修改外部查詢,以將其余的換行符返回到“
”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.