lpad()

Extends the string to length length by prepending the characters fill (a space by default). If the string is already longer than length then it is truncated (on the right).

Signature

lpad ( string text, length integer [, fill text ] ) → text

Examples

SELECT lpad('hi', 5, 'xy');
xyxhi

Run against PostgreSQL 18.6 on 2026-09-13. This is the output we got, not the documentation’s.

In other engines

PostgreSQLlpad
MySQLLPAD(x, 5, '0')
SQL ServerRIGHT(REPLICATE('0', 5) + x, 5)
OracleLPAD(x, 5, '0')
SQLiteprintf('%05d', x) for numbers

SQL Server has no LPAD before 2025; the REPLICATE idiom is what its ecosystem uses, and it silently truncates from the left when x is already longer than the width.

Want to run this against your own PostgreSQL server from an iPhone, iPad or Mac? These are ours — every connection goes straight from the device to your database, with no account and no server of ours in between.

Signature and description adapted from the PostgreSQL manual, used under the PostgreSQL License. PostgreSQL is a registered trademark of the PostgreSQL Community Association of Canada. This page is not affiliated with the PostgreSQL Global Development Group.