Мне нужен скрипт T-SQL, который удаляет цифры справа - PullRequest
2 голосов
/ 29 июня 2011

Например,

Input: 0123BBB123456  Output: 123456
Input: ABC00123       Output: 00123
Input: 123AB0345      Output: 0345

Другими словами, код должен начинать зачистку символов справа и останавливаться, когда встречается символ без 0-9.

Я должензапустите это снова несколько миллионов записей, поэтому я ищу эффективный подход, основанный на множестве, а не курсорный подход, который выполняет функции подстроки в цикле для каждой записи.,Дайте мне несколько минут.

Разочарование ... Я думаю, что браузер, который я использую, IE6 (по поручению моей компании) делает это сложным.Этот сайт плохо работает с 6.

1 Ответ

3 голосов
/ 29 июня 2011

Как насчет;

;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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...