MySQL RIGHT() 函式



MySQL 的RIGHT()函式接受一個字串值和一個數值(例如 N)作為引數,並返回從右到左指定長度的字串。

此函式可用於各種場景,例如提取副檔名、區號或字串右端的任何其他文字字串。

語法

以下是 MySQL RIGHT() 函式的語法:

RIGHT(str, length)

引數

此函式以字串值和指定的字元數作為引數。

返回值

此函式返回字串最右側的指定長度部分。

示例

在以下示例中,該函式從字串 'TUTORIALSPOINT' 中提取最後 5 個字元:

SELECT RIGHT('Tutorialspoint', 5);

以下是上述程式碼的輸出:

RIGHT('Tutorialspoint', 5)
POINT

示例

如果指定的字元數大於字串的長度,則該函式將返回整個字串,沒有任何更改:

SELECT RIGHT('Hello', 10);

獲得的輸出如下:

RIGHT('Hello', 10)
Hello

示例

如果傳遞給函式的任何引數為 NULL,則返回 NULL:

SELECT RIGHT(NULL, 5);

獲得的輸出如下:

RIGHT(NULL, 5)
NULL

示例

您也可以將數值作為引數傳遞給此函式:

SELECT RIGHT(763275825171, 6);

我們得到如下輸出:

RIGHT(763275825171, 6)
825171

示例

825171

SET @str = '05/20/2023';
SELECT RIGHT(@str, 4) AS 'year';

我們得到如下輸出:

您也可以使用變數來儲存字串,然後應用 RIGHT() 函式:
2023

示例

year

您還可以將表的列名作為引數傳遞給此函式,並列印其中所需的字元。

CREATE TABLE EMP(
   FIRST_NAME  CHAR(20) NOT NULL,
   LAST_NAME  CHAR(20),
   AGE INT,
   INCOME FLOAT
);

讓我們建立一個名為“EMP”的表,並使用 CREATE 和 INSERT 語句向其中插入記錄,如下所示:

INSERT INTO EMP VALUES 
('Krishna', 'Sharma', 19, 2000),
('Raj', 'Kandukuri', 20, 7000),
('Ramya', 'Ramapriya', 25, 5000),
('Mac', 'Mohan', 26, 2000);

現在,讓我們使用 INSERT 語句向其中插入記錄:

獲得的 EMP 表如下: FIRST_NAME LAST_NAME AGE
INCOME Krishna 19 2000
Sharma Raj 20 7000
Kandukuri Ramya 25 5000
Ramapriya Mac 26 2000

Mohan

SELECT FIRST_NAME, LAST_NAME, AGE, RIGHT(FIRST_NAME, 3) as Result 
FROM EMP;

以下查詢使用 RIGHT() 函式檢索“FIRST_NAME”列中的最後 3 個字元:

輸出

獲得的 EMP 表如下: FIRST_NAME LAST_NAME 執行上述程式碼後,我們得到以下輸出:
INCOME Krishna 19 結果
Sharma Raj 20 Sharma
Kandukuri Ramya 25 hna
Ramapriya Mac 26 Ramapriya

示例

mya

CREATE TABLE PERSONS(
   ID INT AUTO_INCREMENT PRIMARY KEY,
   NAME VARCHAR(100) NOT NULL,
   AGE VARCHAR(20) NOT NULL
);

假設我們使用以下查詢建立了另一個名為 PERSONS 的表:

INSERT INTO PERSONS(NAME, AGE) VALUES 
('Navjot singh', 32),
('Virat kohli', 23),
('Ramandeep kaur', 53),
('Deepak chahar', 78),
('Harry brook', 27);

在這裡,我們使用 INSERT INTO 語句向上面建立的表中插入記錄,如下所示:

獲得的 PERSONS 表如下: ID LAST_NAME
1 NAME 32
2 Navjot singh 23
3 Virat kohli 53
4 Ramandeep kaur 78
5 Deepak chahar 27

Harry brook

  • 在以下查詢中,我們從 PERSONS 表中獲取每個人的姓氏。為此,方法如下:
  • 首先,我們使用 INSTR() 函式查詢名稱中空格 (" ") 的位置。
  • 其次,我們使用 LENGTH() 函式查詢名稱的長度。這裡 RIGHT 函式的長度將是人員姓名長度減去空格 (" ") 的位置。
SELECT NAME, RIGHT(NAME, LENGTH(NAME) - INSTR(NAME, ' ')) AS 'Lastname'
FROM PERSONS;

以下查詢使用 RIGHT() 函式檢索“FIRST_NAME”列中的最後 3 個字元:

輸出

ID 除此之外,我們使用 RIGHT() 函式提取人的姓氏,即空格 (" ") 後面的字元。
NAME Lastname
Navjot singh singh
Virat kohli kohli
Ramandeep kaur kaur
Deepak chahar chahar
brook
列印頁面