sql中表中一列包含一个list的某一个元素就要被查出来,使用的是ibatis,怎么写sql
一个list集合有(a,b,c,d),数据库中有一张叫table的表,表中一个name字段的列,其中有些name字段的列是varchar类型的数据是“a#b","a#b#...
一个list集合有(a,b,c,d),数据库中有一张叫table的表,表中一个name字段的列,其中有些name字段的列
是varchar类型的数据是“a#b","a#b#c","e#f"等等,我需要找出name字段中只要有list元素的就要找出来,
只要name里面包含一个List元素,就找出这条数据,这样的sql应该怎么写,刚开始写sql,希望大神直接写sql帮忙叙述一下,谢谢啦 展开
是varchar类型的数据是“a#b","a#b#c","e#f"等等,我需要找出name字段中只要有list元素的就要找出来,
只要name里面包含一个List元素,就找出这条数据,这样的sql应该怎么写,刚开始写sql,希望大神直接写sql帮忙叙述一下,谢谢啦 展开
1个回答
展开全部
我有个笨办法:
SELECT * FROM [Table] WHERE [name] LIKE '%a%' OR [name] LIKE '%b%'...
总之,list中就几个元素就写几个LIKE,这种方式不太好,你先试试看。
如果a#b中的#号代表分隔符的话,不凡试试这样存储:#a#b#,查询的时候可以这样:
SELECT * FROM [Table] WHERE [name] LIKE '%#a#%' OR [name] LIKE '%#b#%'...
这样存储的话就避免了查询数据的冗余
更多追问追答
追问
那个list是动态变化的,并不是不变,是用户进行选择的时候,我们封装到了这个list中,然后讲这个传递到数据库,现在就是不知道怎么使用sql来得到查询结果,谢谢你回答
追答
根据用户的选择,在页面上拼接SQL可以吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询