TSQL提取极右数字

时间:2017-02-15 10:10:08

标签: sql-server

如何从这些字符串中提取最右边的数字?

预约区域销售经理从5更改为6 任命区域销售经理从8改为 任命区域销售经理从6变为15 任命区域销售经理从11改为16

1 个答案:

答案 0 :(得分:1)

一种方法是使用patindexreverseright

创建并填充样本表(在将来的问题中保存此步骤):

DECLARE @T AS TABLE
(
    col1 varchar(100)
)

INSERT INTO @T VALUES
('Appointment Regional Sales Manager changed from 5 to 6'),
('Appointment Regional Sales Manager changed from to 8'),
('Appointment Regional Sales Manager changed from 6 to 15'),
('Appointment Regional Sales Manager changed from 11 to 16')

查询:

SELECT RIGHT(col1, PATINDEX('%[^0-9]%', REVERSE(col1))-1) As LastDigits
FROM @T

结果:

LastDigits
6
8
15
16