PAD Function
Pads string values to be a specified minimum length by adding a designated character to the left or right end of the string. Returned value is of String type.
If an input value is longer than the minimum length, no change is made to the string. If you need to fit the string to be a specific length, you can use the LEFT, RIGHT, or SUBSTRING functions.
Tip
You can apply the following strings after you have applied padding to ensure all values are of the same length.
See LEFT Function.
See RIGHT Function.
See SUBSTRING Function.
Wrangle vs. SQL: This function is part of Wrangle, a proprietary data transformation language. Wrangle is not SQL. For more information, see Wrangle Language.
Basic Usage
Column reference example:
pad(Whse_Nbr, 6, '0', left)
Output: Returns a value of a minimum of six characters in length. For input values that are shorter, the character 0
is added to the left side of the string.
String literal example:
pad('My Name', 10, '!', right)
Output: Returns the string: My Name!!!!
.
Syntax and Arguments
pad(string_val,string_length,pad_string,pad_side)
Argument | Required? | Data Type | Description |
---|---|---|---|
string_val | Y | string | Name of the column, function returning string values, or string literal to be applied to the function |
string_length | Y | integer (positive) | Minimum number of characters in the output string. |
pad_string | N | string | String, column reference, or function returning a string to apply to strings that are less than the minimum length. Default is whitespace. |
pad_side | N | enum |
|
For more information on syntax standards, see Language Documentation Syntax Notes.
string_val
Name of the column, function returning a string, or string constant to be padded.
Missing string or column values generate missing string results.
String constants must be quoted (
'Hello, World'
).Multiple columns and wildcards are not supported.
Usage Notes:
Required? | Data Type | Example Value |
---|---|---|
Yes | String literal or column reference | myColumn |
string_length
Minimum length of the generated string. Value is padded to this length at a minimum.
Note
For input string values that are longer than the minimum string length, no padding is applied.
Negative values have no effect on the input string.
References to columns of integer data type are not supported.
Usage Notes:
Required? | Data Type | Example Value |
---|---|---|
Yes | Integer (non-negative) | 5 |
pad_string
The string of one or more characters that are used to pad input strings. If no value is provided, the default pad string is a single whitespace character.
Input values can be a string literal, a function returning a string, or a column containing strings.
Multi-character pad string behaviors:
When the pad string contains multiple characters, the behaviors are different depending on the side on which the string is padded:
Function | Output Value |
---|---|
pad('12', 4, 'abc', left) | bc12 |
pad('12', 4, 'abc', right) | 12ab |
pad('12', 6, 'abc', left) | cabc12 |
pad('12', 6, 'abc', right) | 12abca |
Usage Notes:
Required? | Data Type | Example Value |
---|---|---|
Yes | String literal, function returning a string, or column reference | 'X' |
pad_side
An enumerated value used to determine the side of the string to which any padding is applied:
Value | Description |
---|---|
left | Any padding is applied to the left side. This is the default value if not specified. |
right | Any padding is applied to the right side. |
Usage Notes:
Required? | Data Type | Example Value |
---|---|---|
No | One of the following: | left |
Examples
Tip
For additional examples, see Common Tasks.
Example - Numeric identifiers
In the following example, a table containing four-character product identifiers and product names has been imported into Designer Cloud. Unfortunately, these product identifiers are numeric in structure and are therefore interpreted by Designer Cloud as integer values during import. The leading zeroes are dropped for some of the values, while the latter rows in the table contain fully defined numeric values.
Source:
prodId | prodName |
---|---|
1 | Our First Product |
2 | Our Second Product |
3 | Our First Product v2 |
1001 | A New Product Line |
1002 | A New Product Line v2 |
Transformation:
The first step is to convert the product identifiers to string values:
Transformation Name |
|
---|---|
Parameter: Columns | prodId |
Parameter: New type | 'String' |
Then, you can apply the character 0
as padding to the left of these strings, so that all values are four characters in length at a minimum:
Transformation Name |
|
---|---|
Parameter: Columns | ProdId |
Parameter: Formula | pad(prodId,4,'0',left) |
Results:
prodId | prodName |
---|---|
0001 | Our First Product |
0002 | Our Second Product |
0003 | Our First Product v2 |
1001 | A New Product Line |
1002 | A New Product Line v2 |