Удалить символ из буквенно-цифровой строки и обновить числовое значение в столбце - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть столбец с буквенно-цифровыми значениями, такими как A1234, 5678Q. Я хочу удалить символ из строки и обновить только оставшееся числовое значение.

Я попытался использовать SUBSTR и создать функцию, но она дает мне только символьное значение.

Я хочу удалить символ иобновить столбец с числовыми значениями, например, A1234 становится 1234.

1 Ответ

1 голос
/ 07 ноября 2019

Предполагая, что есть ровно один нецифровый символ, вы можете использовать это:

SELECT val
     , CASE
           WHEN PATINDEX('%[^0-9]%', val) > 0 THEN STUFF(val, PATINDEX('%[^0-9]%', val), 1, '')
           ELSE val
       END AS val_fixed
FROM (VALUES
    ('A1234'),
    ('5678Q'),
    ('12345')
) AS tests(val)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...