如何从 SQL Server 中的字段中删除前缀?
在 SQL 中,某些字是保留的。这些称为关键字或保留字。这些词不能用作标识符,即 SQL 中的列名。但是,这条规则也有一个例外。在本文中,我们将讨论如何在 SQL 中使用保留字作为列名,以及如何从字段中删除前缀。对于本文,我们将使用 Microsoft SQL Server 作为我们的数据库。
第 1 步:创建数据库。为此,请使用以下命令创建一个名为 GeeksForGeeks 的数据库
询问:
CREATE DATABASE GeeksForGeeks
输出:
第 2 步:使用 GeeksForGeeks 数据库。为此,请使用以下命令
询问:
USE GeeksForGeeks
输出:
第三步:在 GeeksForGeeks 数据库中创建一个 FLIGHT 表。该表有 3 列,即 PASSENGER_NAME、SEAT_NO 和 DESTINATION,其中包含乘坐航班的乘客的姓名、座位号、工资和目的地。
询问:
CREATE TABLE FLIGHT(
PASSENGER_NAME VARCHAR(20),
SEAT_NO INT,
DESTINATION VARCHAR(10));
输出:
第 4 步:描述表 FLIGHT 的结构。
询问:
EXEC SP_COLUMNS FLIGHT;
输出:
第 5 步:在 FLIGHT 表中插入 5 行。
询问:
INSERT INTO FLIGHT VALUES('MR. MR. VINAYAK',11,'DEL');
INSERT INTO FLIGHT VALUES('MR. MR. SINGH',06,'BOM');
INSERT INTO FLIGHT VALUES('MR. MR. KHAN',32,'KOL');
INSERT INTO FLIGHT VALUES('MR. MR. SHARMA',25,'CHD');
INSERT INTO FLIGHT VALUES('MR. MR. KUMAR',16,'LKO');
输出:
第 6 步:显示 FLIGHT 表的所有行。
询问:
SELECT * FROM FLIGHT;
输出:
第 7 步:从FLIGHT表中可以看出,一个额外的MR。由于笔误,已在PASSENGER_NAME列的所有条目的开头添加。要删除 ' MR. ',我们需要使用关键字UPDATE 、 SET 、 RIGHT 、 LEN和WHERE 。以下命令更新以 ' MR 开头的列的条目。 ' 带有使用RIGHT关键字提取的名称的子字符串。子字符串从等于前缀长度(' MR. '=4 的长度)的索引开始到字符串的结尾。
句法:
UPDATE TABLE_NAME
SET COLUMN_NAME = RIGHT(COLUMN_NAME,LEN
COLUMN_NAME)-LENGTH OF PREFIX TO BE REMOVED)
WHERE COLUMN_NAME LIKE 'PREFIX%';
询问:
UPDATE FLIGHT
SET PASSENGER_NAME = RIGHT
(PASSENGER_NAME,LEN(PASSENGER_NAME)-4)
WHERE PASSENGER_NAME LIKE 'MR. %';
输出:
步骤 8:显示校正后的 FLIGHT 表的所有行。
询问:
SELECT * FROM FLIGHT;
输出: