Подтвердить что ты не робот

Выберите значения, начинающиеся с числа

У меня есть таблица со столбцом, содержащим данные, которые начинаются с чисел тоже, на MySQL

Как выбрать строки, начинающиеся только с числа?

4b9b3361

Ответ 1

SELECT * FROM YourTable WHERE YourColumn regexp '^[0-9]+'

Ответ 2

Вы можете сделать:

SELECT *
FROM MyTable
WHERE MyColumn REGEXP '^[0-9]';

Используемое регулярное выражение ^[0-9].

^    - Start anchor, used to ensure the pattern matches start of the string.
[    - Start of character class.
0-9  - Any digit
]    - End of character class

Эффективно мы пытаемся выбрать те значения в столбце, которые начинаются с цифры.

Демо:

mysql> select * from tab;
+-------+
| col   |
+-------+
| 1foo  |
| foo   |
| 10foo |
| foo10 |
+-------+
4 rows in set (0.00 sec)

mysql> select * from tab where col regexp '^[0-9]';
+-------+
| col   |
+-------+
| 1foo  |
| 10foo |
+-------+
2 rows in set (0.00 sec)

Ответ 3

и

SELECT * FROM YourTable
WHERE YourColumn LIKE '[0-9]%';

Ответ 4

Еще один способ:

WHERE LEFT(columnName,1) IN ('0','1','2','3','4','5','6','7','8','9')

и с общими наборами и сортировками, это будет работать и использовать индекс в столбце:

WHERE columnName >= '0' AND columnName < ':'

Ответ 5

SELECT * FROM TABLE T
WHERE T.COLUMNNAME REGEXP '^[0-9]';

Другой ответ:

SELECT * FROM TABLE T
WHERE T.COLUMNNAME RLIKE '^[0-9]';