加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – MySQL Split在“SELECT WHERE IN”语句中使用

发布时间:2020-12-15 07:42:15 所属栏目:百科 来源:网络整理
导读:我一直在搜索各种 MySQL网站,希望找到一些可以让我改变它的东西: var parameters = "a,b,c,d"; // (Could be any number of comma-delimited values) 进入此(假设我的参数以某种方式成为您在IN块中看到的值): SELECT * FROM mytable WHERE parametertype I
我一直在搜索各种 MySQL网站,希望找到一些可以让我改变它的东西:
var parameters = "a,b,c,d"; // (Could be any number of comma-delimited values)

进入此(假设我的参数以某种方式成为您在IN块中看到的值):

SELECT * FROM mytable WHERE parametertype IN('a','b','c','d');

但我没有取得很大的成功!我找到的最好的网站是:dev.mysql.com,它讨论了基于分隔符的字符串拆分(在我的情况下是’,’)虽然它没有找到任何答案…

有没有人知道将逗号分隔的字符串拆分成可在此上下文中使用的字符串组的好方法?

解决方法

它可能没有您需要的所有灵活性,但MySQL FIND_IN_SET功能可能就足够了.
尽管如此,该组中最多有64个值的硬限制.

例如:

SELECT  *
FROM    mytable
WHERE   FIND_IN_SET( parametertype,'a,d' ) != 0

这是使用内联MySQL SET(‘a,d’)的一个例子 – 它是一种枚举.如果正在使用数据模型的规范化,这可能表明某些事情是错误的.但是,它们可以方便地消除连接,或者(如本例所示)与位于数据库外部的复杂信息相关联.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读