Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql中如何使用逗号拆分字符串_Mysql - Fatal编程技术网

mysql中如何使用逗号拆分字符串

mysql中如何使用逗号拆分字符串,mysql,Mysql,我需要使用mysql函数按逗号分割字符串。我对mysql及其函数非常陌生,我是创建函数并将字符串传递给该函数的 字符串为ABC、CDEFG123、XYZ 如何使用循环按逗号拆分上面的字符串 我的要求是: Select * from TABLE where Column = 'ABC', Select * from TABLE1 Where column1 = 'CDEF134' SELECT * FROM TABLE2 where column2 = 'XYZ' 这在MySQL中非常简单: S

我需要使用mysql函数按逗号分割字符串。我对mysql及其函数非常陌生,我是创建函数并将字符串传递给该函数的

字符串为ABC、CDEFG123、XYZ

如何使用循环按逗号拆分上面的字符串

我的要求是:

Select * from TABLE where Column = 'ABC',
Select * from TABLE1 Where column1 = 'CDEF134'
SELECT * FROM TABLE2 where column2 = 'XYZ'

这在MySQL中非常简单:

Select * from TABLE where Column = substring_index('ABC,CDEFG123,XYZ', ',', 1);
Select * from TABLE1 Where column1 = substring_index('ABC,CDEFG123,XYZ', ',', 2), ',', -1)
SELECT * FROM TABLE2 where column2 = substring_index('ABC,CDEFG123,XYZ', ',', -1)

MySQL在这方面非常糟糕。如果您正在这样做,您可能需要重新考虑您的数据库设计,使用单独的列或表而不是逗号分隔的列表。您如何将其传递给MySQL?为什么不在字符串到达之前将其拆分?比较不同列以及不同表中的值…这是水流过程…因此我得到逗号分隔的输出…@miken32。那很有趣。事实上,我在前几次尝试发布答案时遇到了一个错误。谢谢gordon…但是当提供更多逗号分隔的输入时,它是如何工作的??输入不完全是3。它可能会有所不同。@VenkateshKuppusamy。您的问题是关于包含三个元素的列表。您可以轻松地扩展第二个元素的逻辑以获得任何元素(只需将“2”更改为您想要的任何元素)。如果这不能解决你的问题,那么再问另一个问题,并试着明确你在寻找什么。