существует таблица, в которой > 100000 записей. В ней есть колонка с цифрами у которых есть ведущие нули. Например: 0005, 0050, 0500. Надо одним запросом у всех убрать ведущие нули. В итоге должно получиться: 5, 50, 500. Как это сделать?
Asked
Active
Viewed 1,767 times
0
-
какая версия mysql? – Novitskiy Denis Jul 10 '20 at 07:38
-
Mariab 10.1.39. – noName Jul 10 '20 at 07:40
2 Answers
1
Под рукой нет именно этой версии, удалось проверить только на 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;
Вот тут фиддл
Novitskiy Denis
- 1,532
0
UPDATE tablename
SET columnname = columnname + 0
-- WHERE LEFT(TRIM(columnname), 1) = '0'
;
Akina
- 31,807
-
пожалуйста, постарайтесь оставлять чуть более развёрнутые ответы. дополнить ответ можно, нажав [edit] – aleksandr barakin Jul 10 '20 at 08:31
-
@aleksandrbarakin Я, если честно, не вижу, что бы в этом ответе могло требовать хоть какого-то пояснения... – Akina Jul 10 '20 at 08:32