SQL - LTRIM() 函数



SQL LTRIM() 是一个内置函数,用于从给定的字符串或表列中的字符串值中删除左侧的前导空格。

除了空格之外,您还可以使用此函数从字符串中删除左侧的字符或子字符串。为此,我们需要将要删除的所需字符串作为参数(可选)传递。

从字符串中删除前导空格或指定的子字符串后,此函数将结果值以字符串的形式返回。

在其他编程语言中,字符串写在双引号“字符串值”中,但在 SQL 中,字符串必须写在单引号(' ')中,如下所示:

‘String value’;

语法

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

LTRIM(string, [trim_string]);

参数

  • string − 要从中删除前导空格或字符的字符串。

  • trim_string − 一个可选参数,指定要从字符串中删除的字符。

示例

在下面的示例中,我们使用 SQL LTRIM() 函数从输入字符串 ' Hello World ' 中删除前导空格。

SELECT LTRIM('       Hello World    ');

输出

以下是上述查询的输出:

+---------------------------------+
| LTRIM('       Hello World    ') |
+---------------------------------+
| Hello World                     |
+---------------------------------+

通过传递局部变量

在 SQL 中,我们可以像其他编程语言一样声明变量。使用 'DECLARE' 关键字和 '@' 符号,我们可以声明变量。

语法

以下是 SQL 中声明变量的语法:
DECLARE @VAR_NAME AS DATATYPE;

其中,'@' 是 SQL 中定义局部变量的符号。

示例

当我们将局部变量传递给 LTRIM() 函数时。

在下面的示例中,我们声明一个名为 Name 的 varchar() 类型变量,其值为 ' ROHAN '。然后,我们将此变量传递给 LTRIM() 函数,以删除给定字符串中的前导空格。

DECLARE
@NAME AS VARCHAR(20) = ' ROHAN ';
PRINT 'Before using the LTRIM() function the string is: ' + @NAME;
PRINT 'After using the LTRIM() function the new string is: ' + LTRIM(@NAME);

输出

上述 SQL 查询产生以下输出:

Before using the LTRIM() function the string is:  ROHAN 
After using the LTRIM() function the new string is: ROHAN

使用 SET 关键字赋值

在其他编程语言中,我们可以直接为已声明的变量赋值。但是,在 SQL 中,为已声明的变量赋值时必须使用 SET 关键字。

语法

以下是 SQL 中为已声明变量赋值的语法:

SET @VAR_NAME = VALUE;

示例

这里,我们有另一个 LTRIM() 函数的示例,在这个程序中,首先,我们将声明一个名为 CITY 的变量,然后使用 SET 关键字为其赋值 ' HYDERABAD ';然后我们将此变量作为参数传递给 LTRIM() 函数,以删除字符串中的前导空格。

DECLARE 
--DECLARE A VARIBALE
@CITY AS VARCHAR(30);
--ASSIGN VALUE TO IT...
SET @CITY = '  HYDERABAD ';
--PRINTING VALUE
PRINT 'Before using the LTRIM() function: ' + @city;
--USING THE LTRIMG() FUNCTION
PRINT 'After using the LTRIMG() function: ' + LTRIM(@CITY);

输出

执行上述查询后,将产生以下输出:

Before using the LTRIM() function:   HYDERABAD 
After using the LTRIMG() function: HYDERABAD

示例

当我们将可选参数传递给 LTRIM() 方法时,此方法将从字符串中删除左侧的指定字符。

在下面的示例中,我们声明名为 VALUE 和 TRIM_STRING 的变量,使用 SET 关键字赋值。然后,我们使用 LTRIM() 函数通过特定的可选参数值 '#' 从字符串 '####02324#' 中删除空格和字符。

DECLARE
@VALUE AS VARCHAR(10);
DECLARE
@TRIM_STRING AS VARCHAR(5);
SET @VALUE = '####02324#';
SET @TRIM_STRING = '#';
PRINT 'String is: ' + @VALUE;
PRINT 'Trim string(opional parameter:): ' + @TRIM_STRING;
PRINT 'After using the LTRIM() function: ' + LTRIM(@value, @TRIM_STRING);

输出

执行上述查询后,将产生以下输出:

String is: ####02324#
Trim string(opional parameter:): #
After using the LTRIM() function: 02324#

示例

我们还可以将 LTRIM() 函数与表列一起使用,以删除列数据中的前导空格和指定字符。让我们通过执行以下 SQL 语句创建一个表

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);

以下查询从“NAME”列的值中删除指定的字符。在这里,由于指定的字符 R、K、C 是某些名称的前导字符,因此此查询将从'Remesh' 中删除 **'R'**,从 'Khilan'、'Kaushik'、'Komal' 中删除 **'K'**,以及从 'Chaitali' 中删除 **'C'**。

SELECT LTRIM(NAME, 'RKC') AS LTRIM_Function FROM CUSTOMERS; 

输出

执行上述语句后,将产生以下输出:

+---------------+
|LTRIM_Function |
+---------------+
|    amesh      |
|    hilan      |
|    aushik     |
|    haitali    |
|    Hardik     |
|    omal       |
|    Muffy      |
+---------------+
sql-string-functions.htm
广告