>我有一个查询如下
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%');