简体   繁体   English

WHERE子句中的MySQL CAST和LIKE

[英]MySQL CAST and LIKE in WHERE clause

I want to write following query in MySQL and keep getting errors. 我想在MySQL中编写以下查询并不断收到错误。 I have no idea what's wrong, everything seems fine by me. 我不知道出了什么问题,一切似乎都很好。

Query: 查询:

SELECT 
    *
FROM 
    client
WHERE
    id IN (
        SELECT 
            client_id 
        FROM 
            url 
        WHERE 
            ',1,2,' LIKE '%,' + CAST(url_type_id AS CHAR(50)) + ',%'
        )

It must have got something to do with the "'%,' + " part, but I honestly don't get it 它必须与“'%,'+”部分有关,但老实说我不明白

You have to use CONCAT() to join 2 strings not "+", here is the query which you looking for 您必须使用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)), ',%') 
)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM