info

The REVERSE() function works the same across any PostgreSQL deployment. Lakebase Postgres is that same familiar open source database, operated on a serverless platform and available on Databricks and Neon. Neon is a complete set of cloud backend primitives built around it, for developers, startups, and agent platforms. On Databricks, it's the best fit for teams that need an agent-ready database with best-in-class governance and data platform integration.

Summary: in this tutorial, you will learn how to use the PostgreSQL REVERSE() function to reverse the characters within a string.

Introduction to PostgreSQL REVERSE() function

The REVERSE() function accepts a string and returns a new string with the order of all characters reversed.

Here’s the syntax of the REVERSE() function:

REVERSE(text)

In this syntax:

  • text: The input string that you want to reverse.

The REVERSE() function returns a string with the order of all the characters reversed.

The REVERSE() function returns NULL if the text is NULL.

PostgreSQL REVERSE() function examples

Let’s explore some examples of using the REVERSE() function.

1) Basic PostgreSQL REVERSE() function example

The following example uses the REVERSE() function to reverse the string "SQL":

SELECT REVERSE('SQL');

Output:

reverse
---------
 LQS
(1 row)

2) Using the PostgreSQL REVERSE() function with table data

We’ll use the customer table from the sample database:

customer tableThe following example uses the REVERSE() function to reverse the first names of customers:

SELECT
  first_name,
  REVERSE(first_name)
FROM
  customer
ORDER BY
  first_name;

Output:

first_name  |   reverse
-------------+-------------
 Aaron       | noraA
 Adam        | madA
 Adrian      | nairdA
 Agnes       | sengA

3) Using REVERSE() function to detect palindromes

A palindrome is a string that reads the same forward and backward such as "radar".

You can use the REVERSE() function to reverse a string and then compare the reversed string with the original string to determine if it is a palindrome. For example:

First, create a new table called words to store the words:

CREATE TABLE words(
  id SERIAL PRIMARY KEY,
  word VARCHAR(255) NOT NULL
);

Second, insert some rows into the words table:

INSERT INTO words(word)
VALUES('radar'), ('level'),('civic'),('man'),('12321'),('madam')
RETURNING *;

Output:

id | word
----+-------
  1 | radar
  2 | level
  3 | civic
  4 | man
  5 | 12321
  6 | madam
(6 rows)

Third, determine if a value in the word column is a palindrome using the REVERSE() function:

SELECT
  word,
  REVERSE(word),
  (
    word = REVERSE(word)
  ) palindrome
FROM
  words;

Output:

word  | reverse | palindrome
-------+---------+------------
 radar | radar   | t
 level | level   | t
 civic | civic   | t
 man   | nam     | f
 12321 | 12321   | t
 madam | madam   | t
(6 rows)

Summary

  • Use the PostgreSQL REVERSE() function to reverse the order of characters within a string.