删除部分字符串的 SQL 语句
这里我们将看到删除部分字符串的 SQL 语句。
方法 1:使用 SUBSTRING() 和 LEN()函数
如果我们想删除我们已知位置的字符串的一部分,我们将使用此方法。
1. SUBSTRING() :此函数用于从给定位置的字符串中查找子字符串。它需要三个参数:
- 字符串:它是必需的参数。它提供有关应用函数的字符串的信息。
- 开始:它给出了字符串的起始位置。它也是必需的参数。
- 长度:它是一个可选参数。默认情况下,它采用整个字符串的长度。
2. LEN():语法不是标准的。对于不同的服务器,返回字符串长度的语法可能会有所不同。例如,LEN() 在 SQL server 中,LENGTH() 在 oracle 数据库中使用,等等。它只需要一个参数,即您需要查找其长度的字符串。
让我们用一个例子来看看上面提到的这些函数。假设要删除字符串中不需要的部分,我们将仅从字段中的字符串字符中提取需要的部分,我们将使用以下查询:
第一步:创建数据库
使用以下 SQL 语句创建名为 geeks 的数据库;
询问:
CREATE DATABASE geeks;
第 2 步:使用数据库
使用以下 SQL 语句将数据库上下文切换到 geeks:
询问:
USE geeks;
第 3 步:表创建
我们的极客数据库中有以下 demo_table。
询问:
CREATE TABLE demo_table(
NAME VARCHAR(20),
GENDER VARCHAR(20),
AGE INT,
CITY VARCHAR(20) );
第 4 步:向表中插入数据
询问:
INSERT INTO demo_table VALUES
('ROMY KUMARI', 'FEMALE', 22, 'NEW DELHI'),
('PUSHKAR JHA', 'MALE',23, 'NEW DELHI'),
('RINKLE ARORA', 'FEMALE',23, 'PUNJAB'),
('AKASH GUPTA', 'MALE', 23, 'UTTAR PRADESH');
第五步:查看表的数据
询问:
SELECT * FROM demo_table;
输出:
第 6 步:删除字符串的一部分
假设如果我们想从字符串中删除最后 4 个字符,我们将使用以下语句提取剩余部分。
句法:
SELECT SUBSTRING(column_name,1,length(column_name)-4) FROM table_name;
例子 :
从 NAME 字段中删除最后 4 个字符。
询问:
SELECT SUBSTRING(NAME,1,len(NAME)-4) AS NAME, GENDER, AGE, CITY FROM demo_table;
输出:
方法 2:使用 REMOVE()函数
我们可以使用 REPLACE()函数删除部分字符串。如果我们知道要删除的字符串的确切字符,则可以使用此函数。
REMOVE():此函数替换新子字符串中所有出现的子字符串。它需要三个参数,都是必需的参数。
- 字符串必需。原始字符串
- old_string 必需。要替换的字符串
- new_string 必需。新的替换字符串
句法:
REPLACE(string, old_string, new_string)
我们将使用上面的 demo_table 进行演示。假设如果我们从 demo_table 的 CITY 字段中删除“New”,那么查询将是:
询问:
SELECT NAME, GENDER, AGE, REPLACE(CITY,'New','') AS CITY FROM demo_table;
我们不会用新的字符串替换它。
输出:
方法 3:使用 TRIM()函数
修剪(): 此函数从字符串的开头或结尾删除空格字符或其他指定字符。通过使用此函数,我们无法从字符串的中间删除部分字符串。
句法:
TRIM([characters FROM ]string);
我们将使用上面的 demo_table 进行演示。假设如果我们想从 demo_table 的 CITY 字段中删除“New”,那么查询将如下所示:
询问:
SELECT NAME, GENDER, AGE, TRIM ('NEW' FROM CITY)AS "NEW CITY" FROM demo_table;
输出: