WHERE 子句中的 MySQL CAST 和 LIKE

标签 mysql

我想在 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/

相关文章:

MySQL FULLTEXT 查询问题

php - 使用 PHP 运行 .sql 文件

MYSQL 不同查询

php - 当用户按下按钮时,如何从 View 中更改模型内的值?

java - 如何从java添加照片到mysql?

mysql - 通过最新记录获得不同的结果

/etc/mysql/my.cnf更改后MySQL容器崩溃,如何编辑回来?

php - 使用 FPDF 自动调整单元格宽度和文本宽度

mysql - 检查mysql中同一单元格中的重复数据

javascript - Node-Webkit mysql 数据到新闻提要