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

前端之家收集整理的这篇文章主要介绍了c# – MySQL Split在“SELECT WHERE IN”语句中使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在搜索各种 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’)的一个例子 – 它是一种枚举.如果正在使用数据模型的规范化,这可能表明某些事情是错误的.但是,它们可以方便地消除连接,或者(如本例所示)与位于数据库外部的复杂信息相关联.

猜你在找的C#相关文章