You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Victoria Markman (JIRA)" <ji...@apache.org> on 2015/04/28 20:34:06 UTC

[jira] [Commented] (DRILL-2355) TRUNC function returns incorrect result when second parameter is specified

    [ https://issues.apache.org/jira/browse/DRILL-2355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14517612#comment-14517612 ] 

Victoria Markman commented on DRILL-2355:
-----------------------------------------

round has the same behavior: 

{code}
0: jdbc:drill:schema=dfs> select round(123.123, 0)  from sys.options limit 1;
+------------+
|   EXPR$0   |
+------------+
| 123.0      |
+------------+
1 row selected (0.167 seconds)
{code}

> TRUNC function returns incorrect result when second parameter is specified
> --------------------------------------------------------------------------
>
>                 Key: DRILL-2355
>                 URL: https://issues.apache.org/jira/browse/DRILL-2355
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Functions - Drill
>    Affects Versions: 0.8.0
>            Reporter: Victoria Markman
>            Assignee: Mehant Baid
>            Priority: Minor
>              Labels: document_if_not_fixed
>             Fix For: Future
>
>
> I believe our TRUNC function is modeled on Postgres TRUNC function.
> Semandics of Postgres TRUNC function:
> {code}
> postgres=# select trunc(1234.1234);
>  trunc
> -------
>   1234
> (1 row)
> postgres=# select trunc(1234.1234, 0);
>  trunc
> -------
>   1234
> (1 row)
> postgres=# select trunc(1234.1234, 2);
>   trunc
> ---------
>  1234.12
> (1 row)
> postgres=# select trunc(1234.1234, -1);
>  trunc 
> -------
>   1230
> (1 row)
> postgres=# select trunc(1234.1234, -3);
>  trunc
> -------
>   1000
> (1 row)
> {code}
> This is incorrect, I can't truncate to zero decimal places:
> {code}
> 0: jdbc:drill:schema=dfs> select trunc(1234.1234) from sys.options limit 1;
> +------------+
> |   EXPR$0   |
> +------------+
> | 1234.0     |
> +------------+
> 1 row selected (0.133 seconds)
> 0: jdbc:drill:schema=dfs> select trunc(1234.1234,0) from sys.options limit 1;
> +------------+
> |   EXPR$0   |
> +------------+
> | 1234.0     |
> +------------+
> 1 row selected (0.065 seconds)
> {code}
> Second negative parameter, does not do what it is supposed to do as well:
> {code}
> 0: jdbc:drill:schema=dfs> select trunc(1234.1234, -1) from sys.options limit 1;
> +------------+
> |   EXPR$0   |
> +------------+
> | 1230.0     |
> +------------+
> 1 row selected (0.068 seconds)
> 0: jdbc:drill:schema=dfs> select trunc(1234.1234, -3) from sys.options limit 1;
> +------------+
> |   EXPR$0   |
> +------------+
> | 1000.0     |
> +------------+
> 1 row selected (0.072 seconds)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)