SQL中的问题以及第二个条件在哪里起作用,第一个条件不起作用



>我有一个查询如下

SELECT *
FROM blogs
WHERE (status = 1 AND trash = 0)
AND (url LIKE '%searchString%' OR metaTitle LIKE '%searchString%');

由于某种原因,第一个条件不起作用,但第二个条件有效。我根据搜索获得结果,但状态和垃圾标志不起作用。

我认为您需要删除周围的((:(状态= 1和垃圾箱= 0(。 如果状态 = 0 且垃圾箱 = 1,如果周围有括号,这将解析为 true。试一试。

键入 Where....

WHERE status ='1' AND trash ='0' AND (url LIKE '%searchString%' OR metaTitle LIKE '%searchString%');

这可能是工作...因为你有三AND工作所以定义杉木AND然后把你的LIKE放到括号里。

试试下面的代码

SELECT *
FROM blogs
WHERE status = 1 AND trash = 0 AND
(url LIKE '%searchString%' OR metaTitle LIKE '%searchString%');

删除第一个和条件中的右括号

SELECT * FROM blogs WHERE status = 1 AND trash = 0 AND (url LIKE '%searchString%' OR metaTitle LIKE '%searchString%');

这些字段中可能有一些空值

SELECT *
FROM blogs
WHERE (status = 1 AND trash = 0)
AND (isnull(url,'') LIKE '%searchString%' OR isnull(metaTitle,'') LIKE '%searchString%');

相关内容

  • 没有找到相关文章

最新更新