我想在 MySQL 中编写以下查询并不断收到错误。我不知道出了什么问题,我觉得一切都很好。
查询:
SELECT
*
FROM
client
WHERE
id IN (
SELECT
client_id
FROM
url
WHERE
',1,2,' LIKE '%,' + CAST(url_type_id AS CHAR(50)) + ',%'
)
它一定与“'%,'+”部分有关,但老实说我不明白
最佳答案
您必须使用CONCAT()要连接 2 个字符串而不是“+”,这是您要查找的查询
SELECT *
FROM client
WHERE id IN ( SELECT client_id
FROM url
WHERE ',1,2,' LIKE CONCAT('%,', CAST(url_type_id AS CHAR(50)), ',%')
)
关于WHERE 子句中的 MySQL CAST 和 LIKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35754142/