例如
Input: 0123BBB123456 Output: 123456
Input: ABC00123 Output: 00123
Input: 123AB0345 Output: 0345
换句话说,代码应该从右边开始剥离字符,当遇到不是0-9的字符时停止。
我必须对数百万条记录执行此操作,因此我正在寻找一种高效的基于集合的方法,而不是为每条记录在循环中执行子字符串函数的游标方法。
我在尝试格式化此文件以供阅读时遇到问题。给我几分钟时间。
令人沮丧。。。我认为我正在使用的浏览器IE6(由我的公司授权(使这一点具有挑战性。这个网站不适合6。
怎么样;
;with test(value) as (
select '0123BBB123456' union
select 'ABC00123' union
select '123AB0345' union
select '123'
)
select
value,
right(value, patindex('%[^0-9]%', reverse('?' + value)) - 1)
from test
0123BBB123456 123456
123 123
123AB0345 0345
ABC00123 00123