选择定界字符串字段的子集

时间:2018-08-08 21:07:37

标签: sql-server tsql

我的表格中的字段的数据格式如下:

C:\Program Files

所有非空白值均包含6个由波浪号分隔的字符串,长度可能为几个字。

我需要从该字段中提取最后2个子字符串作为查询的一部分。
我对将数据拆分为多个记录不感兴趣,而且我没有创建存储过程的权限。

预先感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

DECLARE @Term VARCHAR(100)

SELECT @Term ='abc〜def〜ghi〜jkl〜mno〜pqr〜'

SELECT RIGHT(@Term,  CHARINDEX('~',REVERSE(@Term),CHARINDEX('~',REVERSE(@Term),2)+1)-1)

这将使后两个项保持原样。请注意,您可以将REPLACE()环绕在其中,以在其中放置除波浪号之外的其他东西。

答案 1 :(得分:0)

另一种方法是..使用string_split(在2016年)或等效的UDF(可在其他地方找到)..分割字符串

tup[index]