SQL как оператор "%[^0-9]% " не работает


У меня есть стол.

USER TABLE Columns:
    user_name (varchar)
    age       (int)
    address   (varchar)
    telephone (varchar)

Я хочу найти пользователя, адресное поле которого содержит цифры.

Я попробовал следующий оператор sql в MySQL Workbench:

SELECT * FROM user WHERE address LIKE '%[^0-9]%';
Однако это не сработало. Кто-нибудь может мне помочь?

Заранее благодарю.

4 3

4 ответа:

Я верю, что вы ищете REGEXP:

SELECT   *
FROM     user
WHERE    address REGEXP '.*[^0-9].*'

Пример нахождения адресов без номеров

Следует удалить символ ^ из скобок:

LIKE '%[0-9]%'

Он не хочет быть регулярным выражением, это [charlist] подстановочный знак

'%[^0-9]%'

Будет искать столбец, который имеет %[^0-9]% как текст

Он не будет делать регулярное выражение на нем

Попробуйте

'.[^0-9].'   // That performs regex
select * from user where first_name REGEXP '^[0-9].*'

Это дает вам все записи в вашей пользовательской таблице, где первое имя начинается с цифр 0-9.