SQL RIGHT 函数

摘要:在本教程中,您将学习如何使用 SQL RIGHT 函数从字符串的末尾返回指定数量的字符。

SQL RIGHT 函数简介 #

在 SQL 中,RIGHT 函数接收一个字符串,并从字符串的末尾(右侧)返回指定数量的字符。

以下是 RIGHT 函数的语法

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

RIGHT 函数接受两个参数

  • string:您希望从中返回字符的输入字符串。
  • number_of_characters:您希望从输入字符串中返回的字符数。

RIGHT 函数返回一个字符串,该字符串包含从输入字符串右侧开始的指定数量的字符。

如果输入的 stringnumber_of_charactersNULL,则返回 NULL

基本的 SQL RIGHT 函数示例 #

以下查询使用 RIGHT 函数返回文件名的扩展名

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

试一试

输出

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

提取文件扩展名 #

首先,创建一个名为 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)

试一试

其次,向 performance_evaluations 表中插入行

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)

试一试

第三,从 performance_evaluations 表中检索数据

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

试一试

输出

 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)

对表数据使用 RIGHT 函数 #

以下查询使用 RIGHT 函数检索员工姓名、评级、评估表以及评估表的扩展名

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)

试一试

输出

 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)

在 WHERE 子句中使用 RIGHT 函数 #

以下语句在 WHERE 子句中使用 RIGHT 函数,以查找扩展名为 pdfxls 的评估表

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)

试一试

输出

 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)

将 RIGHT 函数与聚合函数一起使用 #

以下查询将 RIGHT 函数与 COUNT 聚合函数一起使用,以获取每种表单扩展名的计数

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)

试一试

输出

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

摘要 #

  • 使用 RIGHT 函数从字符串的末尾提取指定数量的字符。

数据库 #

本教程是否有帮助?
© .