Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

D toc
Excerpt

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

Tip: You can apply the following strings after you have applied padding to ensure all values are of the same length.

 

D s
snippetBasic

Column reference example:

D code

set col: Whse_Nbr value: PAD(Whse_Nbr, 6, '0', left)

Output: Sets the values of the Whse_Nbr column to be a minimum of six characters in length. For column values that are shorter, the character 0 is added to the left side of the string.

String literal example:

D code

derive type:single value:PAD('My Name', 10, '!', right)

Output: The string My Name!!!! is written to the new column.

D s
snippetSyntax

D code

derive type:single value:PAD(string_val,string_length,pad_string,pad_side)

ArgumentRequired?Data TypeDescription
string_valYstringName of the column, function returning string values, or string literal to be applied to the function
string_lengthYinteger (positive)Minimum number of characters in the output string.
pad_stringNstringString, column reference, or function returning a string to apply to strings that are less than the minimum length. Default is whitespace.
pad_sideNenum
  • left - any padding is applied to the left side of the string (default)
  • right - any padding is applied to the right side of the string

D s lang 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.

D s
snippetusage

Required?Data TypeExample Value
YesString literal or column referencemyColumn

string_length

Minimum length of the generated string.

Info

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.

D s
snippetusage

Required?Data TypeExample Value
YesInteger (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:

FunctionOutput Value
Code Block
PAD('12', 4, 'abc' left)
Code Block
bc12
Code Block
PAD('12', 4, 'abc' right)
Code Block
12ab
Code Block
PAD('12', 6, 'abc' left)
Code Block
cabc12
Code Block
PAD('12', 6, 'abc' right)
Code Block
12abca


D s
snippetusage

Required?Data TypeExample Value
YesString 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:

ValueDescription
leftAny padding is applied to the left side. This is the default value if not specified.
rightAny padding is applied to the right side.

D s
snippetusage

Required?Data TypeExample Value
NoOne of the following: left or rightleft

D s
snippetExamples

Example - Numeric identifiers

In the following example, a table containing four-character product identifiers and product names has been imported into 

D s product
. Unfortunately, these product identifiers are numeric in structure and are therefore interpreted by 
D s product
 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:

prodIdprodName
1Our First Product
2Our Second Product
3Our First Product v2
1001

A New Product Line

1002A New Product Line v2
1003A New Product Line v3

Transform:

The first step is to convert the product identifiers to string values:

D code

settype col: prodId 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:
D code

set col:prodId value:PAD(prodId,4,'0',left)

Results:

prodIdprodName
0001Our First Product
0002Our Second Product
0003Our First Product v2
1001

A New Product Line

1002A New Product Line v2
1003A New Product Line v3


D s also
labelstring