diff --git a/hutool-db/src/main/java/cn/hutool/db/sql/SqlUtil.java b/hutool-db/src/main/java/cn/hutool/db/sql/SqlUtil.java index ff9da9b79..3a4cb0d5d 100644 --- a/hutool-db/src/main/java/cn/hutool/db/sql/SqlUtil.java +++ b/hutool-db/src/main/java/cn/hutool/db/sql/SqlUtil.java @@ -270,7 +270,8 @@ public class SqlUtil { */ public static String removeOuterOrderBy(final String selectSql) { // 去除order by 子句 - return ReUtil.getGroup1(PATTERN_ORDER_BY, selectSql); + String sql = ReUtil.getGroup1(PATTERN_ORDER_BY, selectSql); + return sql == null ? selectSql : sql; } /** diff --git a/hutool-db/src/test/java/cn/hutool/db/sql/Issue4066Test.java b/hutool-db/src/test/java/cn/hutool/db/sql/Issue4066Test.java index 54587fb12..9dd41662a 100644 --- a/hutool-db/src/test/java/cn/hutool/db/sql/Issue4066Test.java +++ b/hutool-db/src/test/java/cn/hutool/db/sql/Issue4066Test.java @@ -28,4 +28,15 @@ public class Issue4066Test { assertEquals("SELECT id, name, age FROM users WHERE status = 'active'", result); } + + /** + * 测试不含Order by的语句 + */ + @Test + public void removeOuterOrderByTest3() { + final String sql = "SELECT * FROM users"; + final String result = SqlUtil.removeOuterOrderBy(sql); + + assertEquals("SELECT * FROM users", result); + } }