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

Andrew Pilloud commented on CALCITE-2572:
-----------------------------------------

Proposed fix: https://github.com/apache/calcite/pull/842

> Calcite substring fails with a start position less than 1.
> ----------------------------------------------------------
>
>                 Key: CALCITE-2572
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2572
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Andrew Pilloud
>            Assignee: Julian Hyde
>            Priority: Major
>
> Calcite substring throws a IndexOutOfBoundsException with a position less 
> than 1. Per the SQL standard, the position should be treated as the larger of 
> the provided value and 1, however many implementations treat negative values 
> as starting from the end of the string.
> Extended standard:
> https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions162.htm
> https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_substring
> https://spark.apache.org/docs/2.3.0/api/sql/index.html#substring
> https://www.sqlite.org/lang_corefunc.html#substr
> Follow the standard:
> https://docs.microsoft.com/en-us/sql/t-sql/functions/substring-transact-sql?view=sql-server-2017
> https://www.postgresql.org/docs/9.1/static/functions-string.html



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to