SQL LTRIM() 函数
SQL中的LTRIM()函数是一个内建函数,用于移除字符串或表格列中左侧的空格。
除了可以删除字符串中的空白字符之外,您还可以使用此函数从字符串中删除字符或子字符串(左侧存在)。为此,我们需要将要删除的所需字符串作为参数(可选)传递。
从字符串中删除前导空格或指定的子字符串后,此函数将以字符串形式返回结果值。
在其他编程语言中,字符串被写在双引号“string value”中,但在SQL中,字符串必须用单引号(”)写入,如下所示 –
'String value';
语法
以下是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的变量,然后我们将值’ 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);
Following query removes the specified characters from the values of the column “NAME. In here, since the specified characters R, K, C are the leading characters of some of the names, this query removes the ‘R’ 从 ‘Remesh’ , ‘K’ 来自 ‘Khilan’ , Kaushik , Komal 和 ‘C’ 来自 ‘Chaitali’ 。
SELECT LTRIM(NAME, 'RKC') AS LTRIM_Function FROM CUSTOMERS;
输出
执行上述语句后,会产生以下输出−
+---------------+
|LTRIM_Function |
+---------------+
| amesh |
| hilan |
| aushik |
| haitali |
| Hardik |
| omal |
| Muffy |
+---------------+