我正在将我的 SQLite 数据库更改为一个领域,但我无法将 SQLite 查询转换为领域
我尝试过!=
和NOT CONTAINS
但没有用。 如何实现这一点?
下面是我的旧SQLite查询,我正在尝试将其转换为领域数据库
select COUNT(*) from (tabledata)
where ifnull(length((KEY_DATA)), 0) <> 0 and
lower((KEY_DATA)) <> lower('N/A') and
lower((KEY_DATA)) <> lower('NA') and
lower((KEY_DATA)) <> lower('not applicable')
我正在尝试像
let countpredicate = NSPredicate(format: "data.length > 0 AND data != [c]'N/A' AND data != [c]'NA' AND data != [c]'not applicable'")
这有什么问题?
我认为您应该将[c]
与操作数而不是字符串结合使用
let countpredicate = NSPredicate(format: "data.length > 0 AND data !=[c] 'N/A' AND data !=[c] 'NA' AND data !=[c] 'not applicable'")
也许你可以使用 IN
let countpredicate = NSPredicate(format: "data.length > 0 AND data NOT IN[c] ('N/A','NA','not applicable'")
您的谓词未正确构造:
取代
(数据不为空(
data.length > 0
到data != ''
和
(数据不包含(
data != [c]'<insert text>'
到!(data contains[c] '<insert text>')
最后:
NSPredicate(format: "data != %@ && !(data contains[c] %@) && !(data contains[c] %@) && !(data contains[c] %@)", "", "N/A", "NA", "not applicable")
将代码更改为:
let countpredicate = NSPredicate(format: "data.length > 0 AND data !CONTAINS[c] 'N/A' AND data !CONTAINS[c] 'NA' AND data !CONTAINS[c] 'not applicable'")
[c]
表示案例煽动