比较两列中的字符串并确保它们的子字符串不相同

时间:2015-03-18 03:18:57

标签: mysql sql

我有两列:

Location1   |  Location2
---------------------------
Canada*ab*av    USA*nm*mn
Canada*vn*mv    Canada*ty*av

我想选择字符串第一部分(第一个'*'之前)不同的所有行。因此在示例中我会得到第一行,因为加拿大和美国不同,但我不会得到第二行,因为加拿大和加拿大是相同的。

我尝试过类似的东西,但看起来这是一个语法错误:

select * from tab
WHERE substring_index(location1, '*', 1) <> substring_index(location2, '*', 1)

1 个答案:

答案 0 :(得分:1)

  

从标签中选择*   WHERE substring_index(location1,&#39; &#39;,1)&lt;&gt; substring_index(location1,&#39; &#39;,1)

你不应该比较Location1和Location2吗?我建议保持案例与你的表格相同。 I.E.使用位置而不是位置。