IN()与REPLACE()不能正常工作

时间:2018-11-15 11:11:05

标签: mysql

此代码正常工作 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   |
--------------------------------

最后,我想让行包含2并与IN一起使用,我不知道为什么下面的代码无法正常工作。

SELECT * from associated_roles where 2 IN(replace(role_col,',', '\',\''))

它不会返回任何东西

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

0 个答案:

没有答案