Удалить ведущие нули одним sql запросом
существует таблица, в которой > 100000 записей. В ней есть колонка с цифрами у которых есть ведущие нули. Например: 0005, 0050, 0500. Надо одним запросом у всех убрать ведущие нули. В итоге должно получиться: 5, 50, 500. Как это сделать?
Ответы (2 шт):
Автор решения: Akina
→ Ссылка
UPDATE tablename
SET columnname = columnname + 0
-- WHERE LEFT(TRIM(columnname), 1) = '0'
;
Автор решения: Novitskiy Denis
→ Ссылка
Под рукой нет именно этой версии, удалось проверить только на 10.3.
Можно использовать UPDATE:
update test
set id=SUBSTRING(id,REGEXP_INSTR(id,'[1-9]'))
Второй вариант - изменить тип на INT, если все значения подходят под маску '000[1-9]%'
ALTER TABLE test MODIFY COLUMN id INT;
Вот тут фиддл