我有一个字符串/path/to/project/subdirectory/
,需要找到path
为/path/to/project/
的行。
如何查找字符串以path
开头的行?
与...相反:
SELECT * FROM projects WHERE path LIKE "/path/to/%"
因为我有太多的角色,而不是太少。
这两个都返回零行:
SELECT * FROM projects WHERE path LIKE "/path/to/project/subdirectory/%"
SELECT * FROM projects WHERE "/path/to/project/subdirectory/" LIKE (path+"%")
答案 0 :(得分:3)
你第二次尝试就接近了,但MySQL使用CONCAT()
来连接字符串,而不是+
。
SELECT *
FROM projects
WHERE "/path/to/project/subdirectory/" LIKE CONCAT(path, '%')
您也可以使用
WHERE LOCATE(path, "/path/to/project/subdirectory/") = 1