首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql如何在没有函数的情况下识别纯数字和混合数字/字母?

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

Stack Overflow用户
提问于 2018-11-29 21:20:39
回答 2查看 70关注 0票数 1

在MySQL数据库中,表中有一个列,该列具有纯数字或混合数字/字母。没有模式,我想区分它是否为纯数字,并将其标记为true,否则为false。有什么好方法我可以用吗?我试过:

代码语言:javascript
复制
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]*'

列:

代码语言:javascript
复制
2A0000BY
4A00A0BF.1
12345678
12345679.1
300000BE
123456FD
3S435F40
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-29 21:28:13

用下面这样的东西来匹配数字怎么样?如果没有,这意味着它有一些字母:

代码语言:javascript
复制
ID REGEXP '^[\-]?[0-9]+\\.?[0-9]*$'

您也可以不使用REGEX就这样做,如下所示:

代码语言:javascript
复制
CONCAT('',ID * 1) = ID

您可以测试两种方法的完整查询( 这里 )。

希望能帮上忙。

票数 1
EN

Stack Overflow用户

发布于 2018-11-29 21:45:49

在SELECT语句期间,可以尝试使用CASE语句和regexp。

类似这样的内容可能有效:它对每个仅为数字的"id“条目返回true/1,否则返回false/0:

代码语言:javascript
复制
SELECT
  id,
  CASE 
     WHEN id regexp '^[0-9.]*$' THEN true
     ELSE false
  END AS is_only_numbers
FROM strings;

SQL Fiddle演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53547778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档