我将创建一个脚本,该脚本使用游标遍历表的记录
并从格式为"yyy://xx/bb/147011"
的列值中提取
仅使用最后一个数字147011
并将此值放入变量中。
可以这样做吗?
非常感谢。
答案 0 :(得分:3)
您不需要光标。您可以只使用查询。以下内容获取最后一个/
之后的所有内容:
select right(str, charindex('/', reverse(str)) - 1 )
from (values ('yyy://xx/bb/147011')) v(str)
它不会专门检查它是否是数字,但是也可以将其添加。
答案 1 :(得分:1)
如果数值具有使用样本数据定义的确切位置,则可以执行以下操作:
SELECT t.*, SUBSTRING(t.col, PATINDEX('%[0-9]%', t.col), LEN(t.col))
FROM table t;
答案 2 :(得分:1)
您还可以使用以下查询。
SELECT RIGHT(RTRIM('yyy://xx/bb/147011'),
CHARINDEX('/', REVERSE('/' + RTRIM('yyy://xx/bb/147011'))) - 1) AS LastWord