Мне нужно написать функцию, которая удаляет первый ведущий нуль (ы) в строке. Положение первого нуля (ов) может меняться.Обрезать ведущие нули с символом в строке
Пример один:
0000900 needs to become 900
Пример два:
A0000900 needs to become A900
Пример три:
ABCD00090ABC0D needs to become ABCD90ABC0D
Пример четыре:
ABC0D00090ABC0D needs to become ABCD00090ABC0D
Итак, первые ведущие нули, независимо от исходного положения, должны быть удалены.
Я попытался это:
DECLARE @input VARCHAR(255)= '0002981K0K'
SELECT SUBSTRING(@input, PATINDEX('%[^0]%', @input), LEN(@input))
Но это приводит лишь к 2981K0K
, что это хорошо. Но всякий раз, когда я добавляю нечисловое значение впереди (скажем, A
), запрос больше не видит первые лидирующие нули и результаты в A0002981K0K
Что происходит с 'AB0C00D000900'? – Hogan
Должно получиться ABC00D000900 (удалить первый ноль). – ImperialBert