Sql 如何将字符串从左到右拆分为第二个分隔符,并且分隔符中有特殊字符?

Sql 如何将字符串从左到右拆分为第二个分隔符,并且分隔符中有特殊字符?,sql,string,split,Sql,String,Split,我有一个包含完整地址行的字段,应该由换行符' “就像下面一样 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,

我有一个包含完整地址行的字段,应该由换行符' “就像下面一样

    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

我尝试了分割函数,但没有达到预期的效果。非常感谢您的帮助。

您可以通过连续定位字符并将字符串长度段添加到一起来完成此操作。这有点像黑客,我认为在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;”

您正在寻找sql解决方案吗?如果您需要哪个平台?是的,SQL Server Management Studio 10一般来说,我正在查找&xa;第二个实例的剩余内容;从右边看,我觉得它就像MySQL的子字符串索引,计数为负数2,然后返回子字符串索引结果的左边。这是正确的思维方式吗?感谢您的回答,结果字符串位于前两个换行符的左侧,如3903 NE 45街&xa;第204号公寓和第20504号公寓东北21 Ct&xa;萨马米什,华盛顿州,98074。我要找的是最后两个换行的字符串,基本上没有包含城市名称。感谢您,它返回原始字符串:我尝试选择左前100名[Primary\u Address\u-Full],len[Primary\u Address-Full]-charindex'&xa;',反向[Primary_Address-Full]+charindex'&xa;',substringreverse[Primary_Address-Full],charindex'&xa;',从[WDHRISods].[WD].[Personal]反转[Primary_Address-Full]+1,len[Primary_Address-Full],[Primary_Address-Full],其中[Primary_Address-_Full]不是空的。我想知道它是否与字符匹配。您能用char10代替“&xa;”吗?如果尝试,字符串将以相同的结果运行。从[WDHRISods].[WD].[Personal]中选择左上方100个[Primary_Address_-Full]、len[Primary_Address-Full]、[charindexchar10]、reverse[Primary_Address-Full]、[Primary_Address-Full]、[Primary_Address-Full]、[charindexchar10]、substringreverse[Primary_Address-Full]、[Primary_Address-Full]、[其中[Primary_Address-_Full]不为空