从字段中删除最后 N 个字符的SQL 查询
SQL代表结构化查询语言。它用于与数据库通信。有一些标准的 SQL 命令,如“select”、“delete”、“alter”等。要从字段中删除最后 N 个字符,我们将使用字符串函数。
字符串函数:
它用于对输入字符串执行操作并返回输出字符串。有各种字符串函数,如 LEN(用于 SQL 服务器)、SUBSTR、LTRIM、TRIM 等。
要执行所需的函数,我们需要以下功能:
1. SUBSTRING():该函数用于从给定位置的字符串查找子字符串。它需要三个参数:
- 字符串:它是必需的参数。它提供有关应用函数的字符串的信息。
- 开始:它给出了字符串的起始位置。它也是必需的参数。
- 长度:它是一个可选参数。默认情况下,它采用整个字符串的长度。
询问:
SUBSTRING('geeksforgeeks', 1, 5);
输出:
geeks
2. LEN():这种语法不是标准语法。对于不同的服务器,返回字符串长度的语法可能会有所不同。例如,LEN() 在 SQL server 中,LENGTH() 在 oracle 数据库中使用,等等。
它只需要一个参数,即您需要查找其长度的字符串。
询问:
LEN('geeksforgeeks')
输出:
13
要从字段中删除最后 N 个字符,我们将使用以下查询:
询问:
SUBSTRING(string, 0, length(string)-N)
这里,字符串表示字段,0表示字符串的开始位置和长度(字符串)-N表示字符串的长度。出于演示的目的,我们将在名为“geeks”的数据库中创建一个 demo_orders 表。
创建数据库:
使用以下 SQL 语句创建名为 geeks 的数据库:
CREATE DATABASE geeks;
使用数据库:
使用以下 SQL 语句将数据库上下文切换到 geeks:
USE geeks;
表定义:我们的极客数据库中有以下 demo_table。
询问:
CREATE TABLE geeksforgeeks(FIRSTNAME VARCHAR(20),LASTNAME VARCHAR(20),CITY VARCHAR(20),
AGE INT(2),GENDER VARCHAR(20));
将数据添加到 TABLE:使用以下语句将数据添加到 geeks for geeks 表:
询问:
INSERT INTO geeksforgeeks VALUES ('ROMY', 'Kumari', 'New Delhi', 22, 'female');
INSERT INTO geeksforgeeks VALUES ('Pushkar', 'jha', 'New Delhi', 23, 'male');
INSERT INTO geeksforgeeks VALUES ('Sujata', 'jha', 'Bihar', 30, 'female');
INSERT INTO geeksforgeeks VALUES ('Roshini', 'Kumari', 'Bihar', 16, 'female');
INSERT INTO geeksforgeeks VALUES ('Avinav', 'Pandey', 'New Delhi', 21, 'male');
查看表的内容:使用以下命令查看 geeks for geeks 表的内容:
询问:
SELECT * FROM geeksforgeeks;
现在要从字段中删除最后 N 个字符,我们将使用 geeks for geeks 表。下面是用于从字段中删除最后 N 个字符的 SUBSTRING()函数的语法。
句法:
SELECT SUBSTRING(column_name,0,length(column_name)-N) FROM table_name;
示例:从 geeks for geeks 表的 FIRSTNAME 列中删除最后 2 个字符。
查询:
SELECT SUBSTRING(FIRSTNAME,1,len(FIRSTNAME)-2) FROM geeks for geeks;
输出:
删除 country 列的最后 3 个字符,然后查看。
询问:
SELECT FIRSTNAME AS BEFORE, SUBSTRING(FIRSTNAME,1,len(FIRSTNAME)-3)AS AFTER FROM geeksforgeeks;
输出: