FMDB数据库查询IOS FIND_IN_SET()

时间:2016-02-09 09:33:56

标签: ios sql fmdb find-in-set

我在IOS中使用FMDB数据库。在我的数据库中,我有一个名为tags的列。 标签列的逗号分隔值为apple,banana,。我希望我的关键字匹配的Title列。我想知道如何在表格列中搜索逗号分隔值请帮忙。

1 个答案:

答案 0 :(得分:1)

您需要使用LIKE运算符,当您拥有apple,banana,...这样的字段数据时,您可以在,的开头和结尾添加,apple,banana,...,,就像,yourTag,一样两个逗号之间的所有标签。现在,您可以检查它是否包含FMResultSet *rs = [db executeQuery:@"SELECT Title FROM yourTable WHERE ','+tags+',' LIKE ?", [NSString stringWithFormat:@"%%%@%%", @"," + search_text + @","]];

我对FMDB并不熟悉,但我认为以下代码可以帮助您:

SET @row_number_t1:=0;
SET @row_number_t2:=0;

SELECT t1_modif.*, t2_modif.* FROM 
    (SELECT @row_number_t1:=@row_number_t1+1 AS row_number,
            t1.* FROM t1) 
    t1_modif
JOIN (SELECT @row_number_t2:=@row_number_t2+1 AS row_number,
            t2.* FROM t2) 
    t2_modif ON t2_modif.row_number = t1_modif.row_number