You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Cliff Buchanan (JIRA)" <ji...@apache.org> on 2014/06/12 00:39:01 UTC

[jira] [Commented] (DRILL-910) to_number returns a float when when integer is expected.

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

Cliff Buchanan commented on DRILL-910:
--------------------------------------

Just for clarification, [{{to_number}}|http://www.postgresql.org/docs/9.3/static/functions-formatting.html] always has the same return type--a numeric. When the format specifier has no fractional part, the numeric with be scale 0 and will not display a decimal point.

example behavior:
{code}
rbuchanan=# select * from bar;
        foo        |     bar     
-------------------+-------------
 12,454.987654321- | 999G999S
 12,454.987654321- | 999G999D99S
(2 rows)

rbuchanan=# select to_number(foo, bar) into results from bar;
SELECT 2
rbuchanan=# \d results
     Table "public.results"
  Column   |  Type   | Modifiers 
-----------+---------+-----------
 to_number | numeric | 

rbuchanan=# select * from results;
 to_number 
-----------
      1254
   1254.98
(2 rows)
{code}

> to_number returns a float when when integer is expected.
> --------------------------------------------------------
>
>                 Key: DRILL-910
>                 URL: https://issues.apache.org/jira/browse/DRILL-910
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Functions - Drill
>            Reporter: Krystal
>            Assignee: Cliff Buchanan
>             Fix For: 1.0.0-BETA1
>
>
> git.commit.id.abbrev=8490d74
> git.build.time=02.06.2014 @ 10\:11\:56 PDT
> 0: jdbc:drill:schema=dfs> select to_number('$987,966', '$###,###') from voter where voter_id=10;
> +------------+
> |   EXPR$0   |
> +------------+
> | 987966.0   |
> +------------+
> 0: jdbc:drill:schema=dfs> select to_number('2,900.55', '#,###') from voter where voter_id=10;
> +------------+
> |   EXPR$0   |
> +------------+
> | 2901.0     |
> +------------+
> In the first example, an int is passed to_number so we expect an in to return.  In the second example, the format in the second argument is to return an int.
> In both cases, postgres and oracle return an int. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)