SQL LEFT() 函数
SQL LEFT() 函数用于从字符串中检索最左边的 length 个字符。
它接受一个字符串值和一个数值(假设为 N)作为参数,并从左到右返回指定的字符串,最多包含 N 个字符。如果任何给定参数的值为 NULL,则返回 NULL。
如果给定的值大于字符串的字符数,该函数将返回实际的字符串。
语法
SQL LEFT() 函数的语法如下: LEFT()
LEFT(string, length);
参数
- String − 这是作为LEFT函数的输入的值,可以是任何文字、变量、字符串或列。
-
Length − 要返回的字符数。
示例
以下是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 –
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 |
+---------+-------------+----------+----------------+-----------+---------------+