Мне нужно обновить некоторые номера телефонов, начиная с:
39 9xxxxx
39 8xxxxx
from 9 to 4
добавление 0 in front
Но мне нужно найти только телефонные номера с 39[4-9]xxxxx
UPDATE table SET phone_number = CONCAT(
REPLACE(
LEFT(phone_number,2), '39', '390'),
SUBSTRING(phone_number, 2, CHAR_LENGTH(phone_number)
)) WHERE phone_number REGEXP '^[4-9]{3}';
stuck in here ^^^^^^^^^^^
Любая помощь или идея?
Этот запрос будет делать то, что вы хотите. Он использует REGEXP для сопоставления чисел, начинающихся с 394 до 399:
UPDATE numbers
SET phone_number = CONCAT(LEFT(phone_number, 2), '0', SUBSTR(phone_number, 3))
WHERE phone_number REGEXP '^39[4-9]'
WHERE phone_number LIKE '39 9%'
. «%» Здесь подстановочный знак. Тем не менее, я не совсем понимаю, что именно вы хотите изменить, ваше объяснение не очень понятно.394 to 399
на3904, 3905, 3906
т. Д.3904, 3905, 3906
могут быть сделаны в 6 различных запросах, но в одном запросе ... думаю, будет обрабатываться только регулярное выражение или с условиемOR
.. ..