(mysql)怎样判断一个数字变量是否包含在表的一个字段中,并列出包含该变量的表中所有数据.该如何处理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了(mysql)怎样判断一个数字变量是否包含在表的一个字段中,并列出包含该变量的表中所有数据.该如何处理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1179字,纯文字阅读大概需要2分钟。
内容图文
![(mysql)怎样判断一个数字变量是否包含在表的一个字段中,并列出包含该变量的表中所有数据.该如何处理](/upload/InfoBanner/zyjiaocheng/210/44674bfc5a96493488a54d0e0a56a597.jpg)
如表table 包含以下字段
id csite ....
1 1,2,13 ....
2 2,3,4 ....
3 1,4,5 ....
4 2,5,23 ....
5 1,3,8 ....
假设取得一个数字变量3,怎样列出包含数字3的所有数据行
使用select id,csite from table where csite like '%3%' or csite like '%3,%' or csite like '%,3,%' or csite like '%,3%'
这样行不通,会把13,23的也查出来
想要的结果是:
id csite ....
2 2,3,4 ....
5 1,3,8 ....
查过一些资料,用这个charindex(3,csite)>0试了不管用,该怎么办??
不要太复杂sql语句和存储过程
谢谢!!!!!
------解决方案--------------------
可以使用MySQL自己的函数FIND_IN_SET
FIND_IN_SET(str,strlist)
Returns a value 如果字符串 str 在由 N 个子串组成的列表 strlist 中,返回一个 1 到 N 的值。一个字符串列表是由通过字符 “,” 分隔的多个子串组成。如果第一个参数是一个常数字符串,并且第二个参数是一个 SET 列类型,FIND_IN_SET() 函数将被优化为使用位运算!如果 str 在不 strlist 中或者如果 strlist 是一个空串,返回值为 0。如果任何一个参数为 NULL,返回值也是 NULL。如果第一个参数包含一个 “,”,这个函数将完全不能工作:
mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2
内容总结
以上是互联网集市为您收集整理的(mysql)怎样判断一个数字变量是否包含在表的一个字段中,并列出包含该变量的表中所有数据.该如何处理全部内容,希望文章能够帮你解决(mysql)怎样判断一个数字变量是否包含在表的一个字段中,并列出包含该变量的表中所有数据.该如何处理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。