Как выполнить целочисленную арифметику для строки в MySQL? - PullRequest
0 голосов
/ 11 ноября 2019

Мне нужно увеличить на 1 значение в MySQL, которое не сохраняется как целое число: вместо этого оно сохраняется как строка, поскольку оно может начинаться с 0, например: 01212120211112. Я хочу установить это значение на 01212120211113.

«Число» всегда имеет длину 14 символов (включая 0 в начале), и оно никогда не станет длиннее или короче.

  1. Я хочу преобразовать его в целое число
  2. установить его + 1
  3. Преобразовать обратно в строку
  4. добавить 0 в начале до длины 14 символов.

Может кто-нибудь помочь мне с синтаксисом?

1 Ответ

1 голос
/ 11 ноября 2019

Убедитесь, что у вас всегда есть строка фиксированной длины. Вы можете использовать convert .. и lpad, чтобы увидеть различные функции в примере

 select CONVERT('01212120211112',UNSIGNED INTEGER)

.

 select CONVERT('01212120211112',UNSIGNED INTEGER) + 1 

.

 select lpad(CONVERT('01212120211112',UNSIGNED INTEGER) + 1 , 14, '0')
...