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
广告