[ 
https://issues.apache.org/jira/browse/TAJO-740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Seungun Choe updated TAJO-740:
------------------------------

    Attachment: TAJO-740.patch

Tested case is no problem.
{code}
  @Test
  public void testToNumber() throws IOException {
    testSimpleEval("select to_number('-1,2,3', '9999999') ", new 
String[]{String.valueOf("-123")});
    testSimpleEval("select to_number('123.123', '9999999.999') ", new 
String[]{String.valueOf("123.123")});
    testSimpleEval("select to_number('123.123', '9999999.99') ", new 
String[]{String.valueOf("123.12")});
    testSimpleEval("select to_number('123.125', '9999999.99') ", new 
String[]{String.valueOf("123.13")});
    testSimpleEval("select to_number('-123.125', '9999999.99') ", new 
String[]{String.valueOf("-123.13")});
    testSimpleEval("select to_number('123.123', '99.999') ", new 
String[]{String.valueOf("")});
    testSimpleEval("select to_number('123.123', '9999999') ", new 
String[]{String.valueOf("123")});
    testSimpleEval("select to_number('123.12345', '9999999.9999') ", new 
String[]{String.valueOf("123.1235")});
    testSimpleEval("select to_number('123.12345', '99999999999') ", new 
String[]{String.valueOf("123")});
    testSimpleEval("select to_number('123,123.123,45', '99999999999.99999') ", 
new String[]{String.valueOf("123123.12345")});
    testSimpleEval("select to_number('-123,123.123,45', '99999999999.99999') ", 
new String[]{String.valueOf("-123123.12345")});
  }
{code}
But unfortunately, if floating under number's length is longer than 9, double 
type number expressed exponential type.
So, I think we need elaborated decimal number type.

> Implements function 'to_number'
> -------------------------------
>
>                 Key: TAJO-740
>                 URL: https://issues.apache.org/jira/browse/TAJO-740
>             Project: Tajo
>          Issue Type: New Feature
>            Reporter: Seungun Choe
>            Assignee: Seungun Choe
>            Priority: Minor
>         Attachments: TAJO-740.patch
>
>
> {code}
> to_number(text, text) / convert string to numeric / to_number('12,454.8-', 
> '99G999D9S')
> to_number(text, text) / convert string to numeric / to_number('1-2,454.8', 
> '99G999D9S')
> Results (Both) :  -12454.8
> {code}
> This function follows postgresql rules.



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

Reply via email to