Przeglądaj źródła

支持Oracle系统函数

AE86 2 lat temu
rodzic
commit
380a90845e

+ 0 - 7
dbsyncer-connector/src/main/java/org/dbsyncer/connector/database/AbstractDatabaseConnector.java

@@ -253,13 +253,6 @@ public abstract class AbstractDatabaseConnector extends AbstractConnector implem
      * @return
      * @return
      */
      */
     protected String buildSqlFilterWithQuotation(String value) {
     protected String buildSqlFilterWithQuotation(String value) {
-        if(StringUtil.isNotBlank(value)){
-            // 支持Oracle日期函数
-            if(StringUtil.startsWith(value, "to_date(") && StringUtil.endsWith(value, ")")){
-                return "";
-            }
-        }
-
         return "'";
         return "'";
     }
     }
 
 

+ 12 - 0
dbsyncer-connector/src/main/java/org/dbsyncer/connector/oracle/OracleConnector.java

@@ -29,6 +29,18 @@ public final class OracleConnector extends AbstractDatabaseConnector {
         return "\"";
         return "\"";
     }
     }
 
 
+    @Override
+    protected String buildSqlFilterWithQuotation(String value) {
+        if (StringUtil.isNotBlank(value)) {
+            // 支持Oracle系统函数(to_char/to_date/to_timestamp/to_number)
+            String val = value.toLowerCase();
+            if (StringUtil.startsWith(val, "to_") && StringUtil.endsWith(val, ")")) {
+                return "";
+            }
+        }
+        return super.buildSqlFilterWithQuotation(value);
+    }
+
     @Override
     @Override
     protected String getValidationQuery() {
     protected String getValidationQuery() {
         return "select 1 from dual";
         return "select 1 from dual";