mysql如何在没有函数的情况下识别纯数字和混合数字/字母?

标签 mysql regex

在 MySQL 数据库中,我在表中有一列既有纯数字也有混合数字/字母。没有模式,如果是纯数字我想区分,标记为true,否则为false。有什么好的方法可以使用吗?我试过:

ID REGEXP '^[[:digit:]]+$',
ID REGEXP '[0-9]+',
   REGEXP '^[a-zA-Z.]+$',
   REGEXP '[^0-9]*1[^0-9]*2[^0-9]*3[^0-9]*4[^0-9]*5[^0-9]*'

列:

2A0000BY
4A00A0BF.1
12345678
12345679.1
300000BE
123456FD
3S435F40

最佳答案

使用类似下面的东西来匹配数字怎么样?如果没有,说明它有一些字母:

ID REGEXP '^[\-]?[0-9]+\\.?[0-9]*$'

您也可以在不使用 REGEX 的情况下执行此操作,如下所示:

CONCAT('',ID * 1) = ID

您可以测试两种方法的完整查询 here .

希望对您有所帮助。

关于mysql如何在没有函数的情况下识别纯数字和混合数字/字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53547778/

相关文章:

javascript - 匹配出现在表格单元格行首的单词

regex - sed ubuntu vs mac 正则表达式

php - 如果第一个或最后一个字母是 utf8,则 preg_match_all 失败

MySQL GROUP_CONCAT 带分隔符

MySQL - 从一列中创建一条记录

mysql - 在 mysql inner join 中使用星号 (*)?

java - 使用 RTL 语言的正则表达式

PHP 获取未括起来的逗号分隔值

mysql - 使用相同的 ID NUMBERS 从一个表向另一个表插入值

php - 使用关系 Laravel 访问数据