Tsql 我需要一个T-SQL脚本,它可以去掉右边的数字字符

Tsql 我需要一个T-SQL脚本,它可以去掉右边的数字字符,tsql,Tsql,比如说 Input: 0123BBB123456 Output: 123456 Input: ABC00123 Output: 00123 Input: 123AB0345 Output: 0345 换句话说,代码应该开始从右侧剥离字符,并在遇到非0-9字符时停止 我必须在数百万条记录上运行它,因此我正在寻找一种有效的基于集合的方法,而不是一种在循环中为每条记录执行子字符串函数的游标方法 我在尝试将其格式化以供阅读时遇到问题。给我几分钟 令人沮丧的是……我认为我使用的浏

比如说

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

给人印象深刻的非常感谢你。许可后几分钟内将接受。