У меня есть столбец базы данных mysql, например:
code
0001109A
00002443BD
.....
1233FGV
0PEI223334
т.е. в некоторых строках поле кода может иметь несколько 0 слева направо, и если я найду такое поле, мне нужно извлечь все 0. Например, для 00002443BD мне нужно вернуть 2443BD, для 0PEI223334 мне нужно вернуть PEI223334 и так далее. Число 0s неизвестно. Какие-либо предложения?
Вы описываете простую операцию TRIM()
. Другие языки и контексты могут вызывать эту strip()
. В контексте того, что вы спросили:
SELECT TRIM(LEADING '0' FROM 'code') FROM your_table
Для полноты, обратите внимание, что:
По умолчанию используется обрезание пробелов с любого конца, что совпадает с BOTH
:
SELECT TRIM(' HI ') --> 'HI'
SELECT TRIM(BOTH FROM ' HI ') --> 'HI'
Там TRAILING
обрезать с конца строки
SELECT TRIM(TRAILING FROM ' HI ') --> ' HI'
Ресурсы:
Официальная документация (проверьте TRIM
и, возможно, LTRIM
и RTRIM
если вам нужно только удалить пробелы).
trim(leading '0' from code)