在SQL查询中不跨括号分布,可能吗?

在SQL查询中不跨括号分布,可能吗?,sql,sqlite,parsing,Sql,Sqlite,Parsing,我正在构建一个解析器,将包含布尔运算符和嵌套括号的搜索字符串转换为SQL查询。 生成一个搜索字符串,如foobar或foobaz ( "cards"."name" LIKE '%Foo%' AND "cards"."name" LIKE '%Bar%' ) OR ( "cards"."name" LIKE '%Foo%' AND "cards"."name" LIKE '%Baz%' ) 或者像这样工作很好,但不是像我预期的那样工作。我读了一些书,看起来它只是修改了选择器?我很不熟悉 是否有

我正在构建一个解析器,将包含布尔运算符和嵌套括号的搜索字符串转换为SQL查询。 生成一个搜索字符串,如foobar或foobaz

( "cards"."name" LIKE '%Foo%' AND "cards"."name" LIKE '%Bar%' ) OR 
( "cards"."name" LIKE '%Foo%' AND "cards"."name" LIKE '%Baz%' )
或者像这样工作很好,但不是像我预期的那样工作。我读了一些书,看起来它只是修改了选择器?我很不熟悉

是否有一种方法可以为选择器组添加前缀,以便类似NOT foo bar的功能可以扩展为以下功能:

( "cards"."name" NOT LIKE '%Foo%' AND "cards"."name" NOT LIKE '%Bar%' )

啊,是的,我的问题变得更清楚了。你的问题仍然不清楚。你能解释一下当用户输入NOT foo bar时会选择哪一个吗:foo bar,foo baz,bar baz。你为什么不使用'%foo%bar%'而不是单独搜索文本的某些部分?@Misa Lazovic:你的谓词将与该条不匹配。。。Foo stringIt不会,但问题清楚地表明…像Foo Bar或Foo Baz这样的搜索字符串。。。巴福一次也没提到