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
廣告