我在sqlite查询中遇到问题,我想使用"喜欢"用于搜索,但Xcode显示此错误
"对成员的模棱两可的提及'喜欢(_:逃避:)'"
也许以这种方式写作有问题?但是我读了GitHub的SQLite-Swift文档。
GitHub中的示例是
import Foundation
import SQLite
import UIKit
class ViewService {
var database : Connection!
let inputDetailTable = Table("input_detail")
let deleteFlag = Expression<Int>("delete_flag")
let id = Expression<Int>("id")
func selectTableData(date :Date) -> [InputDetail] {
let selectedData = self.inputDetailTable.filter(self.deleteFlag == 0
&& self.deleteFlag.like("0%"))
}
}
这是我的代码
FileDate
希望有人可以帮助我。
答案 0 :(得分:0)
您的删除标志是Int。您不能在Int上使用“LIKE”,因为它在一系列字符上匹配模式:
LIKE,GLOB,REGEXP和MATCH运算符
LIKE运算符执行模式匹配比较。操作数 LIKE运算符的右侧包含模式和左手 操作数包含与模式匹配的字符串。百分之一 LIKE模式中的符号(“%”)匹配零或更多的任何序列 字符串中的字符。 LIKE模式中的下划线(“_”) 匹配字符串中的任何单个字符。任何其他角色 匹配自身或其低/大写等价物(即 不区分大小写的匹配)。重要说明:SQLite只能理解 默认为ASCII字符的大写/小写。 LIKE运算符是 默认情况下区分大小写的unicode字符 ASCII范围。例如,表达式'a'LIKE'A'为TRUE但是'æ' 喜欢'Æ'是假的。 SQLite对SQLite的扩展包括增强功能 LIKE运算符的版本,它在所有unicode中进行大小写折叠 字符。