SQL - LEFT() 函式



SQL LEFT() 函式用於從字串中檢索最左邊的指定長度的字元。

它接受一個字串值和一個數值(例如 N)作為引數,並返回從左到右指定的字串最多 N 個字元。如果任何給定引數的值為 NULL,則返回 NULL。

如果給定的值大於字串中的字元數,則此函式將返回實際的字串。

語法

以下是 SQL LEFT() 函式的語法:

LEFT(string, length);

引數

  • 字串 - 它是將作為輸入提供給 LEFT 函式的值,可以是任何文字變數、字串或列

  • 長度 - 要返回的字元數。

示例

以下是 SQL LEFT() 函式的示例:

SELECT LEFT('TUTORIALSPOINT COMPANY', 10) AS LeftFunction;

輸出

以下是上述查詢的輸出:

+--------------+
| LeftFunction |
+--------------+
| TUTORIALSP   |
+--------------+

示例

以下是此函式的另一個示例:

SELECT LEFT('Good Morning all, How are you?', 20) AS LeftFunction;

輸出

上述 SQL 查詢產生以下輸出:

+----------------------+
| LeftFunction         |
+----------------------+
| Good Morning all, Ho |
+----------------------+

示例

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

SELECT LEFT(NULL, 2) AS LEFTFunction;

輸出

執行上述查詢後,將產生以下輸出:

+--------------+
| LEFTFunction |
+--------------+
| NULL         |
+--------------+

示例

如果我們將字串值和長度以相反的順序作為長度和字串值傳遞,則它將返回空格:

SELECT LEFT(6, 'HELLOWORLD') AS LEFTFunction;

輸出

執行上述查詢後,將產生以下輸出:

+--------------+
| LEFTFunction |
+--------------+
|              |
+--------------+

示例

您可以將數值傳遞給此函式:

SELECT LEFT(987654323456787, 8) AS LEFTFunction;

輸出

執行上述查詢後,將產生以下輸出:

+--------------+
| LEFTFunction |
+--------------+
| 98765432     |
+--------------+

示例

您還可以將符號值傳遞給此函式:

 SELECT LEFT('@#$%^&***^%$#@', 4) AS LEFTFunction;
 

輸出

執行上述查詢後,將產生以下輸出:

+--------------+
| LEFTFunction |
+--------------+
| @#$%         |
+--------------+

示例

您可以將表格列作為引數傳遞給 LEFT() 函式,以將字元或字串轉換為 LEFT 函式。假設我們使用 CREATE 語句建立了一個名為 Customers 的表格,如下所示:

create table CUSTOMERS(
   ID INT NOT NULL, 
   NAME VARCHAR(15) NOT NULL, 
   AGE INT NOT NULL, 
   ADDRESS CHAR(25), 
   SALARY DECIMAL(10, 4), PRIMARY KEY(ID)
);

現在,讓我們使用 INSERT 語句將 條記錄插入到 customers 表格中,如下所示:

insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(1, 'Ramesh', 32, 'Ahmedabad', 2000.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(2, 'Khilan', 25, 'Delhi', 1500.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(3, 'kaushik', 23, 'Kota', 2000.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(4, 'Chaitali', 25, 'Mumbai', 6500.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(5, 'Hardik', 27, 'Bhopal', 8500.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(6, 'Komal', 22, 'MP', 4500.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(7, 'Muffy', 24, 'Indore', 10000.00);

以下 SELECT 查詢使用來自上述 CUSTOMERS 表格的 NAME 列的 LEFt 函式:

SELECT NAME, LEFT(NAME, 4) AS LEFTFunction FROM CUSTOMERS;

輸出

執行上述語句後,它將產生以下輸出:

+----------+--------------+
| NAME     | LEFTFunction |
+----------+--------------+
| Ramesh   | Rame         |
| Khilan   | Khil         |
| kaushik  | kaus         |
| Chaitali | Chai         |
| Hardik   | Hard         |
| Komal    | Koma         |
| Muffy    | Muff         |
+----------+--------------+

示例

以下 SELECT 查詢使用來自上述 CUSTOMERS 表格的 NAME、ADDRESS 和 SALARY 列的 LEFt 函式:

SELECT NAME, LEFT(NAME,5), ADDRESS,  LEFT(ADDRESS, 4), SALARY,  LEFT(SALARY, 3) FROM CUSTOMERS;

輸出

執行上述語句後,它將產生以下輸出:

+---------+-------------+----------+----------------+-----------+---------------+
| NAME    | LEFT(NAME,5)| ADDRESS  | LEFT(ADDRESS,4)|  SALARY   | LEFT(SALARY,3)|
+---------+-------------+----------+----------------+-----------+---------------+
| Ramesh  | Rames       | Ahmedabad| Ahme           | 2000.0000 | 200           |
| Khilan  | Khila       | Delhi    | Delh           | 1500.0000 | 150           |
| kaushik | kaush       | Kota     | Kota           | 2000.0000 | 200           |
| Chaitali| Chait       | Mumbai   | Mumb           | 6500.0000 | 650           |
| Hardik  | Hardi       | Bhopal   | Bhop           | 8500.0000 | 850           |
| Komal   | Komal       | MP       | MP             | 4500.0000 | 450           |
| Muffy   | Muffy       | Indore   | Indo           | 10000.0000| 100           |
+---------+-------------+----------+----------------+-----------+---------------+
sql-string-functions.htm
廣告