From 4626624870f6e5e8f6085ab1a244e2534e4461f4 Mon Sep 17 00:00:00 2001 From: xxxtea <1027449630@qq.com> Date: Mon, 29 Sep 2025 10:36:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:SqlUtil#removeOuterOrderBy=E5=A4=84?= =?UTF-8?q?=E7=90=86=E6=B2=A1=E6=9C=89order=20by=E7=9A=84=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5=E5=AF=BC=E8=87=B4=E5=BC=82=E5=B8=B8=20#4077?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hutool-db/src/main/java/cn/hutool/db/sql/SqlUtil.java | 3 ++- .../src/test/java/cn/hutool/db/sql/Issue4066Test.java | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) 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); + } }