You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2023/03/23 13:33:18 UTC
[empire-db] branch master updated: EMPIREDB-386 SQLServer: Allow to provide decimal precision and scale for convert phrase
This is an automated email from the ASF dual-hosted git repository.
doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git
The following commit(s) were added to refs/heads/master by this push:
new 9efe9d4b EMPIREDB-386 SQLServer: Allow to provide decimal precision and scale for convert phrase
9efe9d4b is described below
commit 9efe9d4bced67e26dfce43bafc418100721545c9
Author: Rainer Döbele <do...@apache.org>
AuthorDate: Thu Mar 23 14:33:14 2023 +0100
EMPIREDB-386
SQLServer: Allow to provide decimal precision and scale for convert phrase
---
.../java/org/apache/empire/dbms/sqlserver/DBMSHandlerMSSQL.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/empire-db/src/main/java/org/apache/empire/dbms/sqlserver/DBMSHandlerMSSQL.java b/empire-db/src/main/java/org/apache/empire/dbms/sqlserver/DBMSHandlerMSSQL.java
index 6d046df6..a3322a75 100644
--- a/empire-db/src/main/java/org/apache/empire/dbms/sqlserver/DBMSHandlerMSSQL.java
+++ b/empire-db/src/main/java/org/apache/empire/dbms/sqlserver/DBMSHandlerMSSQL.java
@@ -435,7 +435,13 @@ public class DBMSHandlerMSSQL extends DBMSHandlerBase
{
case BOOL: return "convert(bit, ?)";
case INTEGER: return "convert(int, ?)";
- case DECIMAL: return "convert(decimal, ?)";
+ case DECIMAL:
+ if (format instanceof Number)
+ { // Format should be a float, double or BigDecimal with prec.scale
+ return "convert(decimal("+format.toString().replace('.', ',')+"), ?)";
+ }
+ // plain
+ return "convert(decimal, ?)";
case FLOAT: return "convert(float, ?)";
case DATE: return "convert(date, ?, 111)";
case TIME: return "convert(time, ?)";