需要获取两个逗号分隔的字符串之间的区别,请参见以下示例以更好地理解
。String 1: 1,2,3,4
String 2: 1,4 or
String 2: 2,3 or
String 2: 3,1 etc..
现在我需要得到两个字符串之类的结果
Example 1:
String 1: 1,2,3,4
String 2: 1,4
Required Output: 2,3
Example 2:
String 1: 1,2,3,4
String 2: 2,3
Required Output: 1,4
请帮助我如何在MySQL
查询,过程或函数中进行操作?
答案 0 :(得分:1)
如果您始终只使用两个指定的字符串,请尝试此操作
Select group_concat(x.c)
From
(
Select substring('1,2,3,4', (r * 2) -1 , 1) as c
From (
Select @curRow := @curRow + 1 as r
from sometable JOIN (SELECT @curRow := 0) r
WHERE @curRow< (length('1,2,3,4') - length(replace('1,2,3,4', ',', '')))+1
) a
) x
Where x.c not in (Select substring('1,4', (r * 2) -1 , 1) as c
From (
Select @curRow := @curRow + 1 as r
from sometable
JOIN (SELECT @curRow := 0) r
WHERE @curRow< (length('1,4') - length(replace('1,4', ',', '')))+1
) a)
注意:如果要比较两个以上的字符串,则将此查询放入函数中并传递两个字符串参数,并将这些参数应用于此查询
答案 1 :(得分:0)
如果您创建一个将两个字符串作为输入并返回字符串的函数,那就太好了。