如果数据存储你究竟是如何表现它,那么你可以使用
REPLACe()喂奶前剥离双引号和括号
category_ids来
FIND_IN_SET()。
SELECT * FROM Table1 WHERe FIND_IN_SET(1, REPLACe( REPLACE( REPLACE(category_ids, '"', ''), '[', ''), ']','')) > 0
这是 SQLFiddle
现在,如果您将大量使用它,则可以考虑创建一个用户定义的函数来简化代码
CREATE FUNCTION UNQOUTE_LIST(_list VARCHAr(512)) RETURNS VARCHAr(512)RETURN REPLACE( REPLACE( REPLACE(_list, '"', ''), '[', ''), ']','');
并使用它
SELECT * FROM Table1 WHERe FIND_IN_SET(1, UNQOUTE_LIST(category_ids)) > 0
这是 SQLFiddle
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)