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