分析日志時涉及到了多個條件一起查詢數據,有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可以不用命名別名。