sql语句模糊查询的问题?

详细如下:
一个字符串变量,有值,假使如str='一二三四五六七八';(注意,这个字符串是传进来的,是个变量,所以不能用后面的汉字,只能用str)

我想要在标准模糊匹配到,只要含有这个字符串中的任意一个字就能查询到。
select * from table where key like 后面我就写不出来了,因为直接写str,会全部找和这个str一样的数据,显然是找不到的。我想要的是只要含有'一二三四五六七八'中任何一个字符,就可以查到显示
想问问大家有没有思路哇

你好!

语句

                    

结果

注:查询语句中的字符串变量,结构变为了正则表达式可以辨识的结构。

字符串变量:

    可以通过传入前进行调整;

    可以通过自定义函数进行转换;


希望对你有帮助!

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-02-16
SQL语句的标准形式是:
select * from table where key like '%[一二三四五六七八]%'
如果你是使用其他编程语言来的拼接,可以使用
“select * from table where key like '%[”+str+“]%'"
第2个回答  2020-02-16
思路是这样的,你写一个split函数,把'一二三四五六七八'拆分成数组
然后用select * from table where key in arr
第3个回答  2020-02-17
select * from table where key regexp '一|二|三|四|五|六|七|八'

select * from table where key like '一'or key like '二' 我就写成这样了
第4个回答  2020-02-13
对于那种sqlfrom的这种问题,你可以查一下相关的语句,如果是他的规范用法的话。那我觉得没么问题
相似回答