MyTetra Share
Делитесь знаниями!
Автоматическое преобразование строки в число в MySQL
Время создания: 25.12.2012 11:55
Раздел: Компьютер - Программирование - SQL - MySQL, MariaDB
Запись: xintrea/mytetra_syncro/master/base/1356422150blfwrend29/text.html на raw.github.com

Преобразование строки в число

Допустим перед вами встала задача поиска в таблице адресов address дома с определенным номером. Причем номер дома хранится в текстовом поле num, содержащим значения типа '1', '1а', '1/б', '2ы', '3йцукен' и т.п. И мы хотим выбрать дома с номером, состоящим из 1 и еще каких-то символов. Думаю многие сразу кинутся искать решение с использованием LIKE или REGEXP. Но проще будет использовать следующую фичу MySQL:

SELECT *

FROM address

WHERE num + 0 = 1;

Встретив арифметическую операцию, MySQL автоматически приводит все аргументы к числовому типу. В случае со строками будут просто отсечены все символы, начиная с первого не числового.

Вот такой вот запрос тоже спокойно выполнится без ошибок:

SELECT '1qwe3s' + '2regt3g';

И в результате мы получим ответ: 3.

Так же в этом разделе:
 
MyTetra Share v.0.55
Яндекс индекс цитирования