假设我有一个表t1
,它有一个列effecitive_game
,它将存储名称和逗号(或其他一些预定的字符,如';'),以便我可以用来过滤
例如:列值为'game1,game2,game3'
我希望在JDBC中编写一个SQL,如:
"SELECT * FROM t1, WHERE "+ HERE_IS_A_PARAM_ + "IN " +" effecitive_game'
//
如何将列值'game1,game2,game3'拆分为像''game1','game2','game3'这样的集合,以便我可以使用IN
构建where条件?
答案 0 :(得分:0)
您无需将逗号分隔值转换为任何内容。
使用FIND_IN_SET()
MySQL函数
SELECT * FROM t1 WHERE FIND_IN_SET([SERACHINGFOR], [COMMASEPARATEDLIST])>0
如果你必须使用另一个分隔符(比方说&#39 ;;'),那么你必须欺骗系统。
SELECT * FROM t1 WHERE CONCAT(";",[SEPARATEDLIST],";") LIKE CONCAT('%;',[SEARCHFOR],';%')