考虑以下表格:
create table mixedvalues (value varchar(50));
insert into mixedvalues values
('100'),
('ABC100'),
('200'),
('ABC200'),
('300'),
('ABC300'),
('400'),
('ABC400'),
('500'),
('ABC500');
我该如何编写一个select语句只返回数字值,例如
100
200
300
400
500
SELECT *
FROM mixedvalues
WHERE value REGEXP '^[0-9]+$';
SELECT *
FROM mixedvalues
WHERE concat('',value * 1) = value;
$string = "Test";
select * from table where columnname REGEXP "$string-*[0-9]+";
SELECT * FROM mixedvalues
WHERE value > 0
ORDER BY CAST(value as SIGNED INTEGER) ASC
ISNUMERIC
函数来过滤结果集:SELECT value
FROM #mixedvalues
where ISNUMERIC(value)=1
^-?[0-9]+$
。 - Tom Auger