为什么SQLite说instr不存在?

cha*_*m15 12 sql sqlite

我正在尝试运行查询:

SELECT name
FROM Foo 
WHERE instr(name, '@') = 0 AND instr(name, '.') != 0

但我得到的错误是:"没有这样的功能:instr".这让我感到困惑,因为该网站明确指出该功能存在.有谁知道发生了什么?

PS我也试过SQLiteSpy中的查询,它给出了同样的错误.

Mik*_*sen 19

根据更改历史记录,该instr功能已在版本3.7.15中添加:

2012-12-12(3.7.15)

添加了instr()SQL函数.

确保您运行的是最新版本.

如果升级不是一个选项,您也可以使用LIKE运营商:

SELECT name
FROM Foo 
WHERE name NOT LIKE '%@%' -- name does NOT contain @
AND name LIKE '%.%';      -- name DOES contain .
Run Code Online (Sandbox Code Playgroud)

  • instr(x,y)返回y字符串的x位置.LIKE返回true或false.对于所有用途,甚至不等同. (4认同)