首页 > 解决方案 > 在mysql中选择包含字母和数值的值?

问题描述

create table mixedvalues (value varchar(50));

insert into mixedvalues values ('100');
insert into mixedvalues values ('ABC');
insert into mixedvalues values ('ABC100');
insert into mixedvalues values ('200');
insert into mixedvalues values ('EFEA');
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');

在这里,我可以使用以下查询获取 alpha 值

SELECT * FROM mixedvaluesWHERE valueREGEXP '^[Az]+$'

 value
 ABC
 EFEA

对于数值

SELECT * FROM mixedvaluesWHERE valueREGEXP '^-?[0-9]+$'

value
100
200
300
400
500

那么我怎样才能得到字母和数值呢?

结果应该像

value
ABC100
EFEA200
AAFASF300
AERG400
AGE500

标签: mysql

解决方案


如果您的数据始终是字母,那么以下数字应该可以工作:

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


推荐阅读