MySQL REGEXP для чисел, которые начинаются с

Мне нужно написать запрос с помощью MySQL REGEXP, который найдет мне строки, которые имеют определенный столбец, начинающийся с 11 или 12 или etc. Я знаю,что могу использовать LIKE или LEFT (####, 2), но хотел бы использовать опцию REGEXP. Мои данные хранятся как 110001, 122122, 130013a и т. д.

изменить 1:

чтобы сделать его более ясным, я хотел бы выразить

SELECT * FROM table WHERE column LIKE '11%' or column LIKE '12%' or column LIKE '30%'"     

С REGEXP

спасибо!

1 ответов


чтобы соответствовать строкам, которые начинаются с любых двух цифр, вы можете использовать:

SELECT *
FROM yourtable
WHERE yourcolumn REGEXP '^[0-9][0-9]';

если вы хотите разрешить строки, начинающиеся с 11, 12 или 30 тогда вы можете использовать это:

SELECT *
FROM yourtable
WHERE yourcolumn REGEXP '^(11|12|30)';

Это не сможет использовать индекс в столбце, поэтому он может быть медленнее, чем при использовании LIKE.