mysql 字符串,匹配

自己记录一下,方便以后再用到

SELECT * FROM `case_task` WHERE `status`=1 
AND IF(3 in(SELECT role_id FROM sys_role_account WHERE user_id=2),
2 in(SELECT substring_index(substring_index(t.detective_manager,',', b.help_topic_id + 1), ',', -1) AS userId
FROM case_task t join mysql.help_topic b ON b.help_topic_id < (LENGTH(t.detective_manager) - LENGTH(REPLACE(t.detective_manager, ',', '')) + 1)),
2 in(SELECT substring_index(substring_index(t.detective,',', b.help_topic_id + 1), ',', -1) AS userId
FROM case_task t join mysql.help_topic b ON b.help_topic_id < (LENGTH(t.detective) - LENGTH(REPLACE(t.detective, ',', '')) + 1)));


SELECT substring_index(substring_index('www.baidu.com','.',1),'.',-1); 


SELECT substring_index(substring_index(t.detective_manager,',', b.help_topic_id + 1), ',', -1) AS userId
FROM case_task t join mysql.help_topic b ON b.help_topic_id < (LENGTH(t.detective_manager) - LENGTH(REPLACE(t.detective_manager, ',', '')) + 1);


SELECT substring_index(substring_index(t.detective,',', b.help_topic_id + 1), ',', -1) AS userId
FROM case_task t join mysql.help_topic b ON b.help_topic_id < (LENGTH(t.detective) - LENGTH(REPLACE(t.detective, ',', '')) + 1);

SELECT * FROM mysql.help_topic;


SELECT FIND_IN_SET(5,'2,3,11');


SELECT id,task_state FROM `case_task`
        WHERE `status`=1 AND 
              IF(3 in(SELECT role_id FROM sys_role_account WHERE user_id=2),
                 FIND_IN_SET(3,detective_manager)>0,
                 FIND_IN_SET(3,detective)>0)

猜你喜欢

转载自blog.csdn.net/hacker_Lees/article/details/83152969