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

Oliver Lee commented on CALCITE-5451:
-------------------------------------

Hey Julian, 

I've been having the habit of filling out the ticket description in detail 
after I'm done the PR, but moving forwards I'll fill it out as I create it!

 

Got it, I'll add RPAD to this too.

> Add LPAD() for BIG_QUERY
> ------------------------
>
>                 Key: CALCITE-5451
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5451
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: Oliver Lee
>            Assignee: Oliver Lee
>            Priority: Minor
>
> Adding in LPAD() for BIG_QUERY as per 
> [https://g3doc.corp.google.com/company/teams/googlesql/reference/string_functions.md?cl=head#lpad]
>  describes
>  
> {{LPAD(original_value, return_length[, pattern])}}
> {quote}Returns a {{STRING}} or {{BYTES}} value that consists of 
> {{original_value}} prepended with {{{}pattern{}}}. The {{return_length}} is 
> an {{INT64}} that specifies the length of the returned value. If 
> {{original_value}} is of type {{{}BYTES{}}}, {{return_length}} is the number 
> of bytes. If {{original_value}} is of type {{{}STRING{}}}, {{return_length}} 
> is the number of characters.
> The default value of {{pattern}} is a blank space.
> Both {{original_value}} and {{pattern}} must be the same data type.
> If {{return_length}} is less than or equal to the {{original_value}} length, 
> this function returns the {{original_value}} value, truncated to the value of 
> {{{}return_length{}}}. For example, {{LPAD('hello world', 7);}} returns 
> {{{}'hello w'{}}}.
> If {{{}original_value{}}}, {{{}return_length{}}}, or {{pattern}} is 
> {{{}NULL{}}}, this function returns {{{}NULL{}}}.
> This function returns an error if:
>  * {{return_length}} is negative
>  * {{pattern}} is empty{quote}
>  
> Examples:
> LPAD('12345', 8, 'a') -> "aaa12345"
> LPAD('12345', 8) -> "   12345"
> LPAD('12345', 8, 'ab') -> "aba12345"
> LPAD('12345', 8, 'a') -> "aaa12345"
> LPAD('12345', -3) -> error
> LPAD('12345', 3, '') -> error
>  
>  
>  



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

Reply via email to