0

существует таблица, в которой > 100000 записей. В ней есть колонка с цифрами у которых есть ведущие нули. Например: 0005, 0050, 0500. Надо одним запросом у всех убрать ведущие нули. В итоге должно получиться: 5, 50, 500. Как это сделать?

noName
  • 69

2 Answers2

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;

Вот тут фиддл

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