在 python 的一个程序中,我通过 sqlalchemy 对 SQL Server 2005 进行查询:
SELECT * FROM table
WHERE (cipher=:value? OR CHARINDEX(cipher_mask,:value?)!=0)
and NOT exists( SELECT * FROM table WHERE CHARINDEX(not_cipher_mask,:value?)!=0 AND code=:code?)
and code=:code?
这工作正常。
我正在尝试为 SQLite 创建类似的查询(它不使用函数CHARINDEX
)
SELECT * FROM table
where (cipher=:value? OR :value? like cipher_mask+'/%')
and not exists (SELECT * FROM table where code=:code? and :value? like not_cipher_mask +'/%') and code=:code?
这在 SQL Server 2005 中运行良好,但在 SQLite 中,我得到一个空结果
为什么它在这里不起作用?
PS表中的所有列都VARCHAR
具有相同的数据