我有一个带有完整地址行的字段应该由换行符分隔' '喜欢下面
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
我尝试过拆分功能,但没有提供所需的结果。非常感谢你的帮助。
答案 0 :(得分:0)
您可以通过连续定位字符并将字符串长度段添加到一起来实现。它有点像黑客,我觉得在db之外的正则表达式可以做得更好。
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;
您还可以使用另一个替换修改外部查询,以将剩余的换行符返回到“& #xa;”