2016-10-21 3 views
6
create table mixedvalues (value varchar(50)); 

insert into mixedvalues values ('100'); 
insert into mixedvalues values ('ABC100'); 
insert into mixedvalues values ('200'); 
insert into mixedvalues values ('EFEA200'); 
insert into mixedvalues values ('300'); 
insert into mixedvalues values ('AAFASF300'); 
insert into mixedvalues values ('400'); 
insert into mixedvalues values ('AERG400'); 
insert into mixedvalues values ('500'); 
insert into mixedvalues values ('AGE500'); 

я хочу, чтобы выбрать только нечисловое (буквенно-цифровой) значений, т.е. ABC100, EFEA200, AAFASF300, AERG400, AGE500.MySQL - Выберите только не - числовые значения из столбца VARCHAR

У меня есть код для выбора числовых значений, то есть 100,200 ....

SELECT * 
FROM mixedvalues 
WHERE value REGEXP '^[0-9]+$'; 

Пожалуйста, помогите мне, IAM новичок.

+0

Будут ли буквы 'A',' B' и 'C' всегда появляться в каждой нечисловой записи? –

+0

Вы можете использовать ключевое слово LIKE для этого значения WHERE, например '% 200' – Aruna

+0

@TimBiegeleisen no, это может быть не всегда ABC, любой случайный алфавит –

ответ

5

Регулярное выражение [a-zA-Z] должно срабатывать только в том случае, если значение содержит хотя бы одну букву.

SELECT * 
FROM mixedvalues 
WHERE value REGEXP '[a-zA-Z]'; -- or REGEXP '[[:alpha:]]' 
Смежные вопросы