#mysql #sql #sql-update
#mysql #sql #sql-обновление
Вопрос:
Я использую таблицу, скажем, employee, в которой есть два столбца -mobileno и landlineno (оба объявлены как varchar), содержащий контактный номер этого сотрудника. Итак, теперь мы делаем шаг вперед, добавляя два дополнительных столбца mn и fn, оба объявленных как bigint . Итак, я написал запрос на обновление, который обновил значения. Поскольку таблица стала большой, поэтому она содержит много ненужных значений, таких как 052-12525, которые были вставлены из внешнего интерфейса, значение, скопированное в mn, равно 052, игнорируя цифры после «-«. И еще 1 экземпляр — это mobileno is 5.836, который был неправильно введен из интерфейса, был скопирован как 6. Поэтому, пожалуйста, подскажите мне, есть ли способ игнорировать символы и копировать только цифры в новый столбец
Комментарии:
1. Как насчет телефонных номеров, например
442071231234
? Если вы сохраните это как BigInt, а затем преобразуете его обратно в текст, вы получите0442071231234
, что неверно… Я думаю, вам лучше проверить введенные строки и наложить на них ограничения (на пользователя), прежде чем они попадут в базу данных.
Ответ №1:
используйте ФОРМАТИРОВАНИЕ и ЗАМЕНУ
SELECT REPLACE('052-12525', '-', ''), FORMAT(12332.1,0)
вернет 05212525 и 12332