使用like运算符和concat的mysql查询

时间:2013-11-26 18:42:46

标签: mysql sql concat

我有一个表,其中有一个字段名称作为路径(文本fiels)表的条目如下所示

表名:员工

EmpID                  path

1                      442

2                      443-442

我使用了以下查询

SELECT EmpID FROM Employee WHERE concat('-',path,'-') like '%442%' 

上面的查询返回EmpID 1和2,但我仍然不清楚上面的查询内部如何工作,我只是使用命中和试用方法,幸运的是我得到了正确的结果..现在任何人都可以解释如何上面的查询在内部工作

先谢谢!!

2 个答案:

答案 0 :(得分:1)

您的查询正在采用路径,即422,在末尾添加连字符以将其转换为-422-,然后检查字符串422是否存在于其中(它确实存在) )。

%是任意数量的任意字符的通配符。 -422-是否与字符串(anything)422(anything)类似?是的。

如果没有连字符连接,这将得到完全相同的结果。

答案 1 :(得分:0)

您可以阅读有关LIKE here

的更多信息