Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
Adding in LPAD() and RPAD()for BIG_QUERY as per https://g3doc.corp.google.com/company/teams/googlesql/reference/string_functions.md?cl=head#lpad and https://g3doc.corp.google.com/company/teams/googlesql/reference/string_functions.md?cl=head#rpad describes
LPAD(original_value, return_length[, pattern])
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
LPAD 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
RPAD(original_value, return_length[, pattern])
Returns a STRING or BYTES value that consists of original_value appended with pattern. The return_length parameter is an INT64 that specifies the length of the returned value. If original_value is BYTES, return_length is the number of bytes. If original_value is 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, RPAD('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
RPAD Examples:
RPAD('12345', 8, 'a') -> "12345aaa"
RPAD('12345', 8) -> "12345. "
RPAD('12345', 8, 'ab') -> "12345aba"
RPAD('12345', 8, 'a') -> "12345aaa"
RPAD('12345', -3) -> error
RPAD('12345', 3, '') -> error
Attachments
Issue Links
- relates to
-
CALCITE-1066 Add an extension operator table with Oracle-specific operators
- Closed
-
CALCITE-5989 Type inference for RPAD and LPAD functions (BIGQUERY) is incorrect
- Closed
- links to