[
https://issues.apache.org/jira/browse/CALCITE-1908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
sunjincheng updated CALCITE-1908:
---------------------------------
Summary: Mod function got exception in MOD(34.5,3), MOD(19,6.7) situation.
(was: Mod function can't got exception in MOD(34.5,3), MOD(19,6.7) situation.)
> Mod function got exception in MOD(34.5,3), MOD(19,6.7) situation.
> -----------------------------------------------------------------
>
> Key: CALCITE-1908
> URL: https://issues.apache.org/jira/browse/CALCITE-1908
> Project: Calcite
> Issue Type: Bug
> Reporter: sunjincheng
>
> Calcite MOD definition:
> // Return type is same as divisor (2nd operand)
> // SQL2003 Part2 Section 6.27, Syntax Rules 9
> new SqlFunction(
> "MOD",
> SqlKind.OTHER_FUNCTION,
> ReturnTypes.ARG1_NULLABLE,
> null,
> OperandTypes.EXACT_NUMERIC_EXACT_NUMERIC,
> SqlFunctionCategory.NUMERIC);
> Calcite Document description:
> MOD(numeric, numeric) Returns the remainder (modulus) of numeric1 divided by
> numeric2. The result is negative only if numeric1 is negative
>
> MOD(34.5,3), mod(19,6.7) 异常:
> org.apache.calcite.sql.validate.SqlValidatorException: Cannot apply 'MOD' to
> arguments of type 'MOD(<DOUBLE>, <INTEGER>)'. Supported form(s):
> 'MOD(<EXACT_NUMERIC>, <EXACT_NUMERIC>)' at
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> In MySQL:
> https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_mod
> Modulo operation. Returns the remainder of N divided by M. We can get the
> correct value in MOD(34.5,3), MOD(19,6.7) situation.
> MOD(34.5,3), mod(19,6.7) -> 1.5 , 5.6.
> So, In this JIRA. we should do two thing:
> 1. Decide whether we are consistent with Mysql.
> 2. Improve the document, clearly inform the user for the MOD behavior.
> Reference:
> https://docs.microsoft.com/en-us/sql/t-sql/data-types/data-type-conversion-database-engine
> https://issues.apache.org/jira/browse/CALCITE-1296
> https://issues.apache.org/jira/browse/CALCITE-613
> Hi, [~julianhyde] What do you think? Maybe this is related to implicit
> conversions. I am not sure. I appreciated if you can tell me your thoughts.
> :)
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)