SQL TRIM()函数

SQL TRIM()函数

SQL TRIM() 函数用于从字符串中删除空格。

它将通过从给定字符串的起始位置、结束位置或两侧删除所有的空格或其他指定字符,返回一个新的字符串。

注意 - 默认情况下, TRIM() 函数删除字符串的起始和结束处的空格字符。

TRIM() 函数接受一个字符串作为参数,需要修剪的字符串,以及一个可选的字符串表示要删除的 前缀后缀 。如果将可选参数作为参数传递给此函数,它将从给定的字符串中移除前导、尾部或两者。在两个参数之间必须使用 FROM子句

例如,如果将 ‘$’ 作为可选参数,此函数将删除所有的前导和尾部美元符号。

可选参数指定修剪字符串的哪一侧 –

  • BOTH - 它从字符串的起始和结束位置删除指定的字符(默认位置行为)。
  • LEADING - 它从字符串的起始位置删除指定的字符。
  • TRAILING - 它从字符串的结束位置删除指定的字符。

语法

下面是SQL TRIM() 函数的语法 –

TRIM ( [ LEADING | TRAILING | BOTH ] [characters FROM ] string )
Or
TRIM ( [ characters FROM ] string )
Or
TRIM ( string )

参数

  • str - 需要被修剪的字符串。

返回值

该函数返回一个修剪过的字符串。

示例

在下面的示例中,我们使用SQL的 TRIM() 函数从字符串 ‘ hello ‘ 中移除两边的空格。

SELECT TRIM('    hello   ');

输出

以下是上述查询的输出结果 –

+----------------------+
| TRIM('    hello   ') |
+----------------------+
| hello                |
+----------------------+

示例

在下面的示例中,我们使用 FROM 子句在 TRIM() 函数内,并且使用此函数尝试从字符串 ‘ # hello .’ 中删除可能字符列表 ‘#., $ ^’

SELECT TRIM( '#.,$^ ' FROM '     #     hello    .') AS Output;

输出

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

+--------------+
| Output       |
+--------------+
| hello        |
+--------------+

示例

使用 LEADING子句 ,您可以从字符串的开头删除指定的字符。

在下面的示例中,我们使用 LEADING和FROM子句TRIM() 函数中删除指定字符 ‘#,$’ ,并从字符串的开头 ‘ # test this #.’ 开始。

SELECT TRIM(LEADING '#,$ ' FROM  '     #     test this    #.') AS Result;

输出

上述语句产生以下输出 –

+-----------------+
| Result          |
+-----------------+
| test this    #. |
+-----------------+

示例

你也可以使用 TRAILING clause 从字符串的末尾删除指定的字符。

在这个示例中,我们使用 TRAILINGFROM clausesTRIM() 函数中,从字符串的末尾删除指定的字符 ‘#,.!’‘ # test this #’.

SELECT TRIM(TRAILING '#,.!' FROM  '     #     test this    #') AS Result;

输出

以下是上述查询的输出 –

+----------------------+
| Result               |
+----------------------+
|      #     test this |
+----------------------+

示例

使用 BOTH 子句 可以从字符串的开头和结尾删除指定的字符。

SELECT TRIM(BOTH '##' FROM '##12345##$') AS Result;

输出

执行上述查询后,会产生以下输出 –

+--------+
| Result |
+--------+
| 12345  |
+--------+

示例

你也可以将表列作为 TRIM() 函数的参数,从列的内容中删除所有空格。假设我们使用以下 CREATE 语句创建了名为 Customers 的表 –

CREATE TABLE CUSTOMERS(    
ID INT NOT NULL,    
FIRST_NAME VARCHAR (20),
LAST_NAME VARCHAR(20),
AGE INT NOT NULL,    
ADDRESS CHAR (25) ,    
SALARY DECIMAL (18, 2));

现在让我们使用下面的INSERT语句将 四个 记录插入到Customers表中 –

INSERT INTO CUSTOMERS VALUES (1, 'Ramesh','KUMAR', 32, 'Ahmedabad', 2000.00 ); 
INSERT INTO CUSTOMERS VALUES (2, 'Khilan','Verma', 25, 'Delhi', 1500.00 ); 
INSERT INTO CUSTOMERS VALUES (3, 'kaushik','Gupta', 23, 'Kota', 2000.00 ); 
INSERT INTO CUSTOMERS VALUES (4, 'Chaitali','Pal', 25, 'Mumbai', 6500.00 );

下面的SQL查询会删除Customers表中 LAST_NAME 列的所有前导和尾随空格 –

SELECT ID, FIRST_NAME, TRIM(LAST_NAME) AS TRIM_LAST_NAME FROM CUSTOMERS;

输出

以下是上述查询的输出 –

+----+------------+----------------+
| ID | FIRST_NAME | TRIM_LAST_NAME |
+----+------------+----------------+
|  1 | Ramesh     | KUMAR          |
|  2 | Khilan     | Verma          |
|  3 | kaushik    | Gupta          |
|  4 | Chaitali   | Pal            |
+----+------------+----------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程