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 <[email protected]>
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, ?)";