分析日志时涉及到了多个条件一起查询数据,有or和and同时查询。 场景为取日志时间为5月,6月的,内容包含.sh的。
下面的操作搜索的内容是不正确的:
SELECT * from xxx WHERE CONTENT LIKE '%.sh%' and OP_TIME LIKE '%5月%' OR OP_TIME LIKE '%6月%';
正确写法为:
SELECT * FROM (SELECT * from xxx WHERE CONTENT LIKE '%.sh%') AS t WHERE OP_TIME LIKE '%5月%' OR OP_TIME LIKE '%6月%';
MySQL 会先执行括号里的内容,但是一定要命名别名,Oracle可以不用命名别名。