in()with replace()无法按预期工作

gab6jxml  于 2021-06-19  发布在  Mysql
关注(0)|答案(0)|浏览(230)

此代码正常工作 SELECT 2 IN('1','2','3') 结果是 1 这意味着情况是真的,但我不明白。
我有一个 associated_roles 有这样数据的表。

-------------------
|role_col         |
-------------------
|1,2,3,4,5        |
-------------------
|1,2              |
-------------------
|1,2,3,4,5,6,9,46 |
-------------------
|1,2,3,5,4,46,333 |
-------------------

代码 SELECT replace(role_col,',', '\',\'') from associated_roles 会回来的

--------------------------------
|role_col                       |
--------------------------------
|1','2','3','4','5              |
--------------------------------
|1','2                          |
--------------------------------
|1','2','3','4','5','6','9','46 |
--------------------------------
|1','2','3','5','4','46','333   |
--------------------------------

最后我想得到一个 2IN 我不知道为什么下面的代码不能正常工作。 SELECT * from associated_roles where 2 IN(replace(role_col,',', '\',\'')) 不是这样的

--------------------------------
|role_col                       |
--------------------------------
|                               |
--------------------------------

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题