有没有办法检测值是否是MySQL查询中的数字?如SELECT * FROM myTable WHERE isANumber(col1) = true
3 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
如果您的数据是'test','test0','test1111','111test','111'
要选择数据为简单int的所有记录:
SELECT *
FROM myTable
WHERE col1 REGEXP '^[0-9]+$';
结果:'111'
(在正则表达式中,^表示开始,$表示结束)
要选择存在整数或十进制数的所有记录:
SELECT *
FROM myTable
WHERE col1 REGEXP '^[0-9]+\\.?[0-9]*$'; - for 123.12
结果:'111'(与上一个示例相同)
最后,要选择存在数字的所有记录,请使用以下命令:
SELECT *
FROM myTable
WHERE col1 REGEXP '[0-9]+';
结果:'test0'和'test1111'和'111test'和'111'
添加回答
举报
0/150
提交
取消