Nikita Pande created PHOENIX-7200:
-------------------------------------

             Summary: Support LEFT, RIGHT, STRIP, DIGITS, CHR, DAYS operators 
as built in functions
                 Key: PHOENIX-7200
                 URL: https://issues.apache.org/jira/browse/PHOENIX-7200
             Project: Phoenix
          Issue Type: Improvement
            Reporter: Nikita Pande


When we are validating phoenix with existing databases in our organisation, 
there are few gaps identified wrt built in functions.

1. LEFT: [https://www.ibm.com/docs/en/db2-for-zos/12?topic=functions-left 
|http://example.com]
    *Description*: The LEFT function returns a string that consists of the 
specified number of 
    leftmost bytes of the specified string units.
    *Example*: Assume that host variable ALPHA has a value of 'ABCDEF'. The 
following 
     statement returns '*ABC*'
     {code:java}
     SELECT LEFT(:ALPHA,3) FROM SYSIBM.SYSDUMMY1;
     {code}

2. RIGHT:[ 
https://www.ibm.com/docs/en/db2-for-zos/12?topic=functions-right|http://example.com]
    *Description*: The RIGHT function returns a string that consists of the 
specified number 
     of rightmost bytes or specified string unit from a string.
    *Example*: Assume that host variable ALPHA has a value of 'ABCDEF'. The 
following 
     statement returns the value '*DEF*', which are the three rightmost 
characters in ALPHA
     {code:java}
     SELECT RIGHT(ALPHA,3) FROM SYSIBM.SYSDUMMY1;
     {code}

3. STRIP: [https://www.ibm.com/docs/en/db2-for-zos/12?topic=functions-strip]
    *Description*: The STRIP function removes blanks or another specified 
character from 
     the end, the beginning, or both ends of a string expression.
    *Example*: Remove a specific character from a string, o/p is *Hello World  *
     {code:java}
     SELECT STRIP('---Hello World---', B, '-') AS StrippedString FROM 
SYSIBM.SYSDUMMY1;
     {code}

4. DIGITS: [https://www.ibm.com/docs/en/db2-for-zos/12?topic=functions-digits]
    *Description*: The DIGITS function returns a character string 
representation of the 
     absolute value of a number.
     Example: Assume that COLUMNX has the data type DECIMAL(6,2), and that one 
of its 
     values is *-6.28*. For this value, the following statement returns the 
value *'000628'.*
     {code:java}
     DIGITS(COLUMNX)
     {code}
 
5. CHR: [https://www.ibm.com/docs/en/db2-for-zos/12?topic=functions-chr]
    *Description*: The CHR function returns the character that has the ASCII 
code value that 
     is specified by the argument.
     Example: Set :hv with the Euro symbol "€" in CCSID 923:
     {code:java}
     SET :hv = CHR(164);  -- x'A4'
     {code}  

6. DAYS: [https://www.ibm.com/docs/en/db2-for-zos/12?topic=functions-days]
     *Description*: The DAYS function converts each date to a number (the 
number of days 
     since '0001-01-01'), and subtracting these numbers gives the number of 
days between 
      the two dates. o/p is *364* since 2022 is not a leap year
      *Example*:
      {code:java}
       SELECT (DAYS('2022-12-31') - DAYS('2022-01-01')) AS days_difference
       FROM sysibm.sysdummy1;
      {code}  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to