diff --git a/src/main/java/com/alibaba/druid/wall/spi/WallVisitorUtils.java b/src/main/java/com/alibaba/druid/wall/spi/WallVisitorUtils.java index 0bba971376..81fecd25b6 100644 --- a/src/main/java/com/alibaba/druid/wall/spi/WallVisitorUtils.java +++ b/src/main/java/com/alibaba/druid/wall/spi/WallVisitorUtils.java @@ -2182,16 +2182,25 @@ public class WallVisitorUtils { if (query instanceof SQLSelectQueryBlock) { SQLSelectQueryBlock queryBlock = (SQLSelectQueryBlock) query; SQLTableSource from = queryBlock.getFrom(); + + if (queryBlock.getSelectList().size() < 1) { + return false; + } if (from == null) { boolean itemIsConst = true; + boolean itemHasAlias = false; for (SQLSelectItem item : queryBlock.getSelectList()) { if (item.getExpr() instanceof SQLIdentifierExpr || item.getExpr() instanceof SQLPropertyExpr) { itemIsConst = false; break; } + if(item.getAlias() != null ) { + itemHasAlias = true; + break; + } } - if (itemIsConst) { + if (itemIsConst && !itemHasAlias) { return true; } else { return false;