SQL RIGHT Function

Summary: in this tutorial, you’ll learn how to use the SQL RIGHT function to return a specified number of characters from the end of a string.

Introduction to the SQL RIGHT Function #

In SQL, the RIGHT function takes a string and returns a specified number of characters from the end ( the right) of a string.

Here’s the syntax of the RIGHT function:

RIGHT(string, number_of_characters)Code language: SQL (Structured Query Language) (sql)

The RIGHT function accepts two parameters:

  • string: The input string from which you want to return the characters.
  • number_of_characters: The number of characters you want to return from the input string.

The RIGHT function returns a string that contains a specified number of characters from the right of the input string.

It returns NULL if the input string or the number_of_characters is NULL.

Basic SQL RIGHT function example #

The following query uses the RIGHT function to return the extension of a file name:

SELECT
  RIGHT('resume.pdf', 3) extension;Code language: SQL (Structured Query Language) (sql)

Try it

Output:

 extension
-----------
 pdfCode language: SQL (Structured Query Language) (sql)

Extracting file extensions #

First, create a new table called performance_evaluations to store the employees’ performance evaluations:

CREATE TABLE performance_evaluations (
  employee_id INT PRIMARY KEY,
  rating INT NOT NULL,
  evaluation_form VARCHAR(255) NOT NULL
);Code language: SQL (Structured Query Language) (sql)

Try it

Second, insert rows into the performance_evaluations table:

INSERT INTO
  performance_evaluations (employee_id, rating, evaluation_form)
VALUES
  (101, 4, 'neena.pdf'),
  (102, 3, 'lex.pdf'),
  (103, 5, 'alexander.doc'),
  (104, 3, 'bruce.xls'),
  (105, 3, 'david.xls');Code language: SQL (Structured Query Language) (sql)

Try it

Third, retrieve data from the performance_evaluations table:

SELECT
  *
FROM
  performance_evaluations;Code language: SQL (Structured Query Language) (sql)

Try it

Output:

 employee_id | rating | evaluation_form
-------------+--------+-----------------
         101 |      4 | neena.pdf
         102 |      3 | lex.pdf
         103 |      5 | alexander.doc
         104 |      3 | bruce.xls
         105 |      3 | david.xlsCode language: SQL (Structured Query Language) (sql)

Using the RIGHT function with table data #

The following query uses the RIGHT function to retrieve the employee name, ranting, evaluation forms, and the form’s extensions:

SELECT
  first_name,
  rating,
  evaluation_form,
  RIGHT(evaluation_form, 3) form_extension
FROM
  performance_evaluations p
  INNER JOIN employees e ON e.employee_id = p.employee_id
ORDER BY
  first_name;Code language: SQL (Structured Query Language) (sql)

Try it

Output:

 first_name | rating | evaluation_form | form_extension
------------+--------+-----------------+----------------
 Alexander  |      5 | alexander.doc   | doc
 Bruce      |      3 | bruce.xls       | xls
 David      |      3 | david.xls       | xls
 Lex        |      3 | lex.pdf         | pdf
 Neena      |      4 | neena.pdf       | pdfCode language: SQL (Structured Query Language) (sql)

Using the RIGHT function in the WHERE clause #

The following statement uses the RIGHT function in the WHERE clause to find evaluation forms with the extension is pdf or xls:

SELECT
  first_name,
  rating,
  evaluation_form,
  RIGHT(evaluation_form, 3) form_extension
FROM
  performance_evaluations p
  INNER JOIN employees e ON e.employee_id = p.employee_id
WHERE
  RIGHT(evaluation_form, 3) IN ('pdf', 'xls')
ORDER BY
  first_name;Code language: SQL (Structured Query Language) (sql)

Try it

Output:

 first_name | rating | evaluation_form | form_extension
------------+--------+-----------------+----------------
 Bruce      |      3 | bruce.xls       | xls
 David      |      3 | david.xls       | xls
 Lex        |      3 | lex.pdf         | pdf
 Neena      |      4 | neena.pdf       | pdfCode language: SQL (Structured Query Language) (sql)

Using the RIGHT function with an aggregate function #

The following query uses the RIGHT function with the COUNT aggregate function to get the count for each form extension:

SELECT
  RIGHT(evaluation_form, 3) form_extension,
  COUNT(*) extension_count
FROM
  performance_evaluations
GROUP BY
  RIGHT(evaluation_form, 3)
ORDER BY
  form_extension;Code language: SQL (Structured Query Language) (sql)

Try it

Output:

 form_extension | extension_count
----------------+-----------------
 doc            |               1
 pdf            |               2
 xls            |               2Code language: SQL (Structured Query Language) (sql)

Summary #

  • Use the RIGHT function to extract a specified number of characters from the end of a string.
Was this tutorial helpful ?