SQL SERVER 查询第一个数字和最后一个数字的位置

我们在实际开发中,有时候需要得到字符串中的数字位置,然后对字符串做处理。获取位置我们用PATINDEX方法,因为PATINDEX是支持正则表达式的,可以匹配数字,而类似CHARINDEX这种函数,只能查询匹配固定的字符串。

        实现代码如下:


DECLARE @str NVARCHAR(255) = '京都大道1号402室'
SELECT PATINDEX('%[0-9]%', @str) AS 第一个数字位置 ,
LEN(@str) - PATINDEX('%[0-9]%', REVERSE(@str)) + 1 AS 最后一个数字位置

 

posted @ 2019-10-12 11:51  华翎科技  阅读(676)  评论(0)    收藏  举报