LPAD()

<< LOWER() | FB 2.5 Language Reference | MAXVALUE() >>

LPAD()

Available in: DSQL, PSQL

Added in: 2.1

Changed in: 2.5 (backported to 2.1.4)

Description

Left-pads a string with spaces or with a user-supplied string until a given length is reached.

Result type: VARCHAR or BLOB

Syntax

 LPAD (str, endlen [, padstr])


  • This function fully supports text BLOBs of any length and character set.
  • If str is a BLOB, the result is a BLOB. Otherwise, the result is a VARCHAR(endlen).
  • If padstr is given and equals '' (empty string), no padding takes place.
  • If endlen is less than the current string length, the string is truncated to endlen, even if padstr is the empty string.

Important: If the external function LPAD is declared in your database, it will override the internal function. To make the internal function available, DROP or ALTER the external function (UDF).

Note: In Firebird 2.1–2.1.3, all non-BLOB results were of type VARCHAR(32765), which made it advisable to cast them to a more modest size. This is no longer the case.

Examples

 lpad ('Hello', 12)                    -- returns ' Hello'
 lpad ('Hello', 12, '-')               -- returns '-------Hello'
 lpad ('Hello', 12, '')                -- returns 'Hello'
 lpad ('Hello', 12, 'abc')             -- returns 'abcabcaHello'
 lpad ('Hello', 12, 'abcdefghij')      -- returns 'abcdefgHello'
 lpad ('Hello', 2)                     -- returns 'He'
 lpad ('Hello', 2, '-')                -- returns 'He'
 lpad ('Hello', 2, '')                 -- returns 'He'

Warning: When used on a BLOB, this function may need to load the entire object into memory. Although it does try to limit memory consumption, this may affect performance if huge BLOBs are involved.

See also:
RPAD()

back to top of page
<< LOWER() | FB 2.5 Language Reference | MAXVALUE() >>