MySQL LEFT() 函数



MySQL 的LEFT() 函数接受一个字符串值和一个数值(例如 N),并返回从左到右指定字符串的前 N 个字符。

当您想要从字符串的左侧提取一定数量的字符时,此函数非常有用。它可用于各种场景,例如从字符串的左侧提取文件扩展名、区号或任何其他文本字符串。

语法

以下是 MySQL LEFT() 函数的语法:

LEFT(str,len)

参数

此函数将字符串和指定数量的字符作为参数。

返回值

此函数返回字符串最左侧的部分,其长度为指定长度。

示例

在以下示例中,我们从字符串“TUTORIALSPOINT”的左侧提取前 5 个字符:

SELECT LEFT('TUTORIALSPOINT', 5);

以上代码的输出如下:

LEFT('TUTORIALSPOINT', 5)
TUTOR

示例

如果提供给此函数的第二个参数大于给定字符串的长度,则它会返回字符串而无需任何更改:

SELECT LEFT('TUTORIALSPOINT', 20);

获得的输出如下:

LEFT('TUTORIALSPOINT', 20)
TUTORIALSPOINT

示例

当第二个参数为负值时,函数返回空字符串:

SELECT LEFT('TUTORIALSPOINT', -4);

我们得到以下输出:

LEFT('TUTORIALSPOINT', -4)

示例

如果传递给此函数的任何参数为 NULL,则它返回 NULL:

SELECT LEFT(NULL, 5);

产生的结果如下所示:

LEFT(NULL, 5)
0x

示例

您还可以将数值传递给此函数:

SELECT LEFT(763275825171, 6);

产生的结果如下所示:

LEFT(763275825171, 6)
763275

示例

您还可以将表列的名称传递给此函数,并在其中打印所需的字符。

让我们创建一个名为“EMP”的表,并使用 CREATE 和 INSERT 语句向其中插入记录,如下所示:

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

现在,让我们使用 INSERT 语句向其中插入记录:

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

获得的 EMP 如下所示:

FIRST_NAME LAST_NAME AGE INCOME
Krishna Sharma 19 2000
Raj Kandukuri 20 7000
Ramya Ramapriya 25 5000
Mac Mohan 26 2000

以下查询使用 LEFT() 函数检索列“FIRST_NAME”中的前 3 个字符:

SELECT FIRST_NAME, LAST_NAME, AGE, LEFT(FIRST_NAME, 3) as RESULT 
FROM EMP;

执行以上代码后,我们得到以下输出:

FIRST_NAME LAST_NAME AGE LEFT(FIRST_NAME, 3)
Krishna Sharma 19 Kri
Raj Kandukuri 20 Raj
Ramya Ramapriya 25 Ram
Mac Mohan 26 Mac
mysql-left-function.htm
广告