如何在查询中使用

时间:2017-11-03 15:33:47

标签: swift sqlite

我在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

希望有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

您的删除标志是Int。您不能在Int上使用“LIKE”,因为它在一系列字符上匹配模式:

来自the documentation

  

LIKE,GLOB,REGEXP和MATCH运算符

     

LIKE运算符执行模式匹配比较。操作数   LIKE运算符的右侧包含模式和左手   操作数包含与模式匹配的字符串。百分之一   LIKE模式中的符号(“%”)匹配零或更多的任何序列   字符串中的字符。 LIKE模式中的下划线(“_”)   匹配字符串中的任何单个字符。任何其他角色   匹配自身或其低/大写等价物(即   不区分大小写的匹配)。重要说明:SQLite只能理解   默认为ASCII字符的大写/小写。 LIKE运算符是   默认情况下区分大小写的unicode字符   ASCII范围。例如,表达式'a'LIKE'A'为TRUE但是'æ'   喜欢'Æ'是假的。 SQLite对SQLite的扩展包括增强功能   LIKE运算符的版本,它在所有unicode中进行大小写折叠   字符。

相关问题