mysql中查询由数字拼接成的字符串中包含某一数字,避免像 "10"、"1"、"12" 这样的数字被误判为包含数字"1"了。SELECT * FROM 表名 WHERE REGEXP_LIKE(字段名, '[[:<:]]5[[:>:]]');
时间: 2024-05-17 09:19:40 浏览: 105
在 MySQL 中,可以使用 REGEXP 或者 RLIKE 函数来匹配正则表达式,以实现查询由数字拼接成的字符串中包含某一数字,并且避免像 "10"、"1"、"12" 这样的数字被误判为包含数字"1"。
例如,假设要判断字符串"123456789"中是否包含数字"5",可以使用以下 SQL 语句:
SELECT * FROM 表名 WHERE 字段名 REGEXP CONCAT('[[:<:]]', '5', '[[:>:]]');
其中,表名为存储数字字符串的表名,字段名为存储数字字符串的字段名。如果查询结果返回了数据,则表示该数字字符串中包含数字"5"。
这里使用了 CONCAT 函数来拼接字符串和正则表达式,[[:<:]] 和 [[:>:]] 分别表示单词的开头和结尾,可以确保匹配到的数字是一个独立的单词。这样就可以避免像 "10"、"1"、"12" 这样的数字被误判为包含数字"1"了。
阅读全文