MySQL LTRIM() 函数



MySQL 的 **LTRIM()** 函数用于删除给定字符串中所有前导空格。它接受字符串值作为参数,并通过删除字符串左侧开头的任何空白字符(例如空格、制表符或换行符)来返回结果。

语法

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

LTRIM(str)

参数

此函数将字符串值作为参数。

返回值

此函数返回修改后的字符串,其中已删除前导空格。

示例

在以下示例中,我们使用 LTRIM() 函数从字符串“    Tutorialspoint”中删除前导空格:

SELECT LTRIM('    Tutorialspoint');

以上代码的输出如下:

LTRIM('    Tutorialspoint')
Tutorialspoint

示例

您还可以通过将数值转换为字符串来将其作为此函数的参数:

SELECT LTRIM('  5578');

获得的输出如下:

LTRIM('  5578')
5578

示例

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

SELECT LTRIM(NULL );

我们得到以下输出:

LTRIM(NULL )
0x

如果禁用 **--binary-as-hex** 值,则上述查询的结果如下:

SELECT LTRIM(NULL );

我们得到以下输出:

LTRIM(NULL )
NULL

示例

您还可以使用此函数删除表列值的开头空格。

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

CREATE TABLE PLAYERS_TABLE(
   ID INT,
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Date_Of_Birth date,
   Place_Of_Birth VARCHAR(255),
   Country VARCHAR(255),
   PRIMARY KEY (ID)
);

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

INSERT INTO PLAYERS_TABLE VALUES
(1, '    Shikhar', 'Dhawan', DATE('1981-12-05'), 'Delhi', 'India'),
(2, '    Jonathan', 'Trott', DATE('1981-04-22'), 'CapeTown', 'SouthAfrica'),
(3, '    Kumara', 'Sangakkara', DATE('1977-10-27'), 'Matale', 'Srilanka'),
(4, '    Virat', 'Kohli', DATE('1988-11-05'), 'Delhi', 'India'),
(5, '    Rohit', 'Sharma', DATE('1987-04-30'), 'Nagpur', 'India'),
(6, '    James', 'Anderson', DATE('1982-06-30'), 'Burnley', 'England');

获得的 PLAYERS_TABLE 如下:

ID First_Name Last_Name Date_Of_Birth Place_Of_Birth Country
1     Shikhar Dhawan 1981-12-05 Delhi India
2     Jonathan Trott 1981-04-22 CapeTown SouthAfrica
3     Kumara Sangakkara 1977-10-27 Matale Srilanka
4     Virat Kohli 1988-11-05 Delhi India
5     Rohit Sharma 1987-04-30 Nagpur India
6     James Anderson 1982-06-30 Burnley England

以下查询删除 First_Name 列值的所有前导空格实体:

SELECT ID, First_Name, Last_Name, Country, LTRIM(First_Name)
FROM PLAYERS_TABLE;

输出

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

ID First_Name Last_Name Country LTRIM(First_Name)
1     Shikhar Dhawan India Shikhar
2     Jonathan Trott SouthAfrica Jonathan
3     Kumara Sangakkara Srilanka Kumara
4     Virat Kohli India Virat
5     Rohit Sharma India Rohit
6     James Anderson England James

示例

此外,您可以将 LTRIM() 函数与 **UPDATE** 语句一起使用以删除列中的前导空格。

在以下示例中,我们更新“PLAYERS_TABLE”中的“First_Name”列:

UPDATE PLAYERS_TABLE SET First_name = LTRIM(First_name);

输出

获得以下输出:

Query OK, 6 rows affected (0.02 sec)
Rows matched: 6  Changed: 6  Warnings: 0

验证

您可以使用以下 SELECT 查询验证所做的更改:

SELECT * FROM PLAYERS_TABLE;

产生的结果如下:

ID First_Name Last_Name Date_Of_Birth Place_Of_Birth Country
1 Shikhar Dhawan 1981-12-05 Delhi India
2 Jonathan Trott 1981-04-22 CapeTown SouthAfrica
3 Kumara Sangakkara 1977-10-27 Matale Srilanka
4 Virat Kohli 1988-11-05 Delhi India
5 Rohit Sharma 1987-04-30 Nagpur India
6 James Anderson 1982-06-30 Burnley England

示例

我们还可以将 LTRIM() 函数与 **WHERE** 子句一起使用。

在这里,我们删除了国家/地区不是“INDIA”的球员名称的前导空格:

UPDATE PLAYERS_TABLE SET First_name = LTRIM(First_name)
WHERE Country <> 'India';

输出

获得以下输出:

Query OK, 3 rows affected (0.01 sec)
Rows matched: 3  Changed: 3  Warnings: 0

验证

您可以使用以下 SELECT 查询验证所做的更改:

SELECT * FROM PLAYERS_TABLE;

获得的表如下:

ID First_Name Last_Name Date_Of_Birth Place_Of_Birth Country
1     Shikhar Dhawan 1981-12-05 Delhi India
2 Jonathan Trott 1981-04-22 CapeTown SouthAfrica
3 Kumara Sangakkara 1977-10-27 Matale Srilanka
4     Virat Kohli 1988-11-05 Delhi India
5     Rohit Sharma 1987-04-30 Nagpur India
6 James Anderson 1982-06-30 Burnley England
mysql-ltrim-function.htm
广告