📜  删除部分字符串的 SQL 语句

📅  最后修改于: 2022-05-13 01:54:46.358000             🧑  作者: Mango

删除部分字符串的 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;

输出: