Перейти к содержимому
Последнее обновление

STRRIGHT

Описание​

Функция STRRIGHT возвращает указанное количество символов с правого края строки. Длина измеряется в символах UTF8.

Псевдоним​

RIGHT

Синтаксис​

STRRIGHT(<str>, <len>)

Параметры​

ПараметрОписание
<str>Строка, из которой извлекаются символы. Тип: VARCHAR
<len>Количество возвращаемых символов. Тип: INT

Возвращаемое значение​

Возвращает значение типа VARCHAR, представляющее извлечённую подстроку.

Особые случаи:

  • Возвращает NULL, если хотя бы один аргумент равен NULL
  • Если len отрицательно, возвращает подстроку, начинающуюся с символа на позиции abs(len) при отсчёте справа
  • Возвращает всю строку, если len превышает длину строки

Примеры​

  1. Простое извлечение символов с правого края
SELECT STRRIGHT('Hello doris', 5), RIGHT('Hello doris', 5);
+----------------------------+------------------------+
| STRRIGHT('Hello doris', 5) | RIGHT('Hello doris', 5) |
+----------------------------+------------------------+
| doris | doris |
+----------------------------+------------------------+
  1. Извлечение подстрок разной длины
SELECT STRRIGHT('Hello World', 3), STRRIGHT('Hello World', 8);
+-----------------------------+-----------------------------+
| STRRIGHT('Hello World', 3) | STRRIGHT('Hello World', 8) |
+-----------------------------+-----------------------------+
| rld | lo World |
+-----------------------------+-----------------------------+
  1. Обработка значений NULL
SELECT STRRIGHT(NULL, 5), STRRIGHT('Hello doris', NULL);
+-------------------+-------------------------------+
| STRRIGHT(NULL, 5) | STRRIGHT('Hello doris', NULL) |
+-------------------+-------------------------------+
| NULL | NULL |
+-------------------+-------------------------------+
  1. Пустая строка и нулевая длина
SELECT STRRIGHT('', 5), STRRIGHT('Hello World', 0);
+-------------------+-----------------------------+
| STRRIGHT('', 5) | STRRIGHT('Hello World', 0) |
+-------------------+-----------------------------+
| | |
+-------------------+-----------------------------+
  1. Обработка отрицательной длины
SELECT STRRIGHT('Hello doris', -7), STRRIGHT('Hello doris', -5);
+-----------------------------+-----------------------------+
| STRRIGHT('Hello doris', -7) | STRRIGHT('Hello doris', -5) |
+-----------------------------+-----------------------------+
| doris | o doris |
+-----------------------------+-----------------------------+
  1. Длина превышает длину строки
SELECT STRRIGHT('ABC', 10), STRRIGHT('short', 20);
+---------------------+-----------------------+
| STRRIGHT('ABC', 10) | STRRIGHT('short', 20) |
+---------------------+-----------------------+
| ABC | short |
+---------------------+-----------------------+
  1. Многобайтовые символы UTF-8
SELECT STRRIGHT('ṭṛì ḍḍumai hello', 5), STRRIGHT('ṭṛì ḍḍumai hello', 11);
+----------------------------------+-----------------------------------+
| STRRIGHT('ṭṛì ḍḍumai hello', 5) | STRRIGHT('ṭṛì ḍḍumai hello', 11) |
+----------------------------------+-----------------------------------+
| hello | ḍumai hello |
+----------------------------------+-----------------------------------+
  1. Обработка строк с цифрами
SELECT STRRIGHT('123456789', 3), STRRIGHT('ID_987654321', 6);
+----------------------------+-------------------------------+
| STRRIGHT('123456789', 3) | STRRIGHT('ID_987654321', 6) |
+----------------------------+-------------------------------+
| 789 | 654321 |
+----------------------------+-------------------------------+
  1. Извлечение домена из адреса электронной почты
SELECT STRRIGHT('user@example.com', 11), STRRIGHT('admin@company.org.cn', 14);
+----------------------------------+--------------------------------------+
| STRRIGHT('user@example.com', 11) | STRRIGHT('admin@company.org.cn', 14) |
+----------------------------------+--------------------------------------+
| example.com | company.org.cn |
+----------------------------------+--------------------------------------+

Ключевые слова​

STRRIGHT, RIGHT