我正在尝试使用varchar
在列(LIKE
列)中找到一个数字,我正在使用类似SELECT * FROM MYTABLE WHERE mynumberslist LIKE '%76%'
的语句。数据存储如下:nums =; 76; 78; 80; 81; 176;那么我该如何搜索76,因为如果我只是做LIKE %76%
我会得到76和176返回是否还有这个?我没有设计数据库,也无法控制存储的数据,我只负责编写一个获取数据的程序。
答案 0 :(得分:2)
就像
一样简单LIKE '%;76;%'
ps:向数据库架构作者发送问候并捐赠一些钱购买任何与数据库设计相关的书籍
答案 1 :(得分:0)
使用正则表达式匹配:
SELECT *
FROM MYTABLE
WHERE mynumberslist RLIKE '\b76\b'
即使您最后没有尾随;
,它也会匹配 - 它匹配字 76(\b
表示正则表达式中的“字边界”)
答案 2 :(得分:0)
SELECT *
FROM MYTABLE
WHERE ';' + mynumberslist + ';' LIKE '%;76;%';