如何从字符串中提取字符串

时间:2017-04-26 15:41:14

标签: sql sql-server-2008

我需要从字符串中提取一个字符串,我使用一个表并且它有动态字符串不断更新,我想提取最后一个字符串。

我尝试使用CHARINDEXPATINDEXSUBSTRING,但字符串的长度不固定。可能唯一的选择是识别数字,然后提取下一个字符串。有人有建议吗?

Hector Maya           Supervisión  4  Coecillo
Bulmaro Vieyra        Supervisión  1  Coecillo
Bulmaro Vieyra        Supervisión  1  Coecillo
Edgar Salgado         Supervisión  2  Coecillo
José A Castillo       Supervisión  5  Coecillo
Bulmaro Vieyra        Supervisión  1  Coecillo
Marco Martin Ortiz H. Supervisión  3  Oriente León
Arturo Salazar L.     Supervisión  2  Oriente León
Nancy Pérez G.        Supervisión  4  Oriente León
Arturo Salazar L.     Supervisión  2  Oriente León

我想要的最后一句话:

'Coecillo','OrienteLeón'等

1 个答案:

答案 0 :(得分:2)

使用patindex()reverse()获取最后一个数字后字符串的right()部分。

select LastPart = ltrim(rtrim(right(col,patindex('%[0-9]%',reverse(col))-1)))
from t

rextester演示:http://rextester.com/TLE45990

返回:

+--------------+
|   LastPart   |
+--------------+
| Coecillo     |
| Coecillo     |
| Coecillo     |
| Coecillo     |
| Coecillo     |
| Coecillo     |
| Oriente León |
| Oriente León |
| Oriente León |
| Oriente León |
+--------------+
相关问题