У меня есть таблица с именем Table1, которая выглядит следующим образом

ID  VALUES
1   050
2   50
3   100
4   010
5   300

Мне нужно обновить целевое значение через ID. В этом случае я хочу удалить начальный 0, где ID равен 1. Это конечный результат ниже:

ID  VALUES
1   50
2   50
3   100
4   010
5   300

Имейте в виду, что Id 4 остался прежним. Как я только указал Id 1, чтобы удалить этот ноль.

Причина, по которой я хочу сделать это, заключается в том, что я не хочу изучать, как удалить начальный ноль и в то же время, как я могу удалить начальный ноль для определенного ID.

-2
user11327799 3 Май 2019 в 10:39

3 ответа

Лучший ответ

Вы можете использовать TRIM чтобы обновить значения в вашей таблице:

UPDATE Table1 
SET `values` = TRIM(LEADING '0' FROM `values`)
WHERE id = 1;
SELECT * FROM Table1

Выход:

id  values
1   50
2   50
3   100
4   010
5   300

Демо на dbfiddle

1
Nick 3 Май 2019 в 08:03

Пожалуйста, попробуйте это

SELECT `id`,
(CASE
  WHEN (LEFT(`values`,1) = 0 AND `id` = 1) THEN SUBSTR(`values`,2)
  ELSE
 `values`
  END
) `values`
FROM `data`

ДЕМО

0
Rakesh Jakhar 3 Май 2019 в 07:57

Вы можете попробовать ниже

update tablename set value=substr(value,2,length(value)-1)
  where id=1
0
Fahmi 3 Май 2019 в 07:56