PostgreSQL REVERSE() Function

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)Code language: SQL (Structured Query Language) (sql)

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.

MySQL 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');Code language: SQL (Structured Query Language) (sql)

Output:

 reverse
---------
 LQS
(1 row)Code language: SQL (Structured Query Language) (sql)

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

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

customer table

The 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;Code language: SQL (Structured Query Language) (sql)

Output:

 first_name  |   reverse
-------------+-------------
 Aaron       | noraA
 Adam        | madA
 Adrian      | nairdA
 Agnes       | sengACode language: SQL (Structured Query Language) (sql)

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
);Code language: SQL (Structured Query Language) (sql)

Second, insert some rows into the words table:

INSERT INTO words(word)
VALUES('radar'), ('level'),('civic'),('man'),('12321'),('madam')
RETURNING *;Code language: SQL (Structured Query Language) (sql)

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;Code language: SQL (Structured Query Language) (sql)

Output:

 word  | reverse | palindrome
-------+---------+------------
 radar | radar   | t
 level | level   | t
 civic | civic   | t
 man   | nam     | f
 12321 | 12321   | t
 madam | madam   | t
(6 rows)Code language: SQL (Structured Query Language) (sql)

Summary

  • Use the PostgreSQL REVERSE() function to reverse the order of characters within a string.
Was this tutorial helpful ?