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

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么