将列值从“男性”替换为“女性”并将“女性”替换为“男性”的 SQL 查询
在本文中,我们将实现一个查询以将列值从“male”替换为“female”,将“female”替换为“male”。为了更好的解释,我们将用一个例子来实现这个查询。为了实现这个查询,首先我们将创建一个数据库。数据库“示例”的名称。
之后在数据库内部,我们将创建一个表。表的名称是“EMPDATA”。在这里,我们将借助 UPDATE、CASE 语句和条件将列值从 'Male' 替换为 'female' 和 'female' 到 'male'。
现在,我们必须遵循以下语句来实现此查询。
第一步:创建数据库
对于数据库创建,我们将在 MS SQL Server 中使用查询。
询问:
CREATE DATABASE Sample;
第 2 步:使用数据库
使用数据库
询问:
use database_name;
for this database…
use Sample;
第 3 步:创建表
对于创建数据表,我们将使用以下查询
询问:
CREATE TABLE EMPDATA
(
EMPNAME VARCHAR(25),
GENDER VARCHAR(6),
DEPT VARCHAR(20),
CONTACTNO BIGINT NOT NULL,
CITY VARCHAR(15)
);
第 4 步:表格的结构
在SQL的帮助下EXEX sp_help的表名,我们可以看到表的结构。就像许多列、数据类型、大小、可为空性和约束一样。 EXEC Sp_ help Query 类似于 DESC 或 DESCRIBE Query。
询问:
EXEC sp_help EMPDATA
输出:
第 5 步:在表中插入一个值
询问:
INSERT INTO EMPDATA
VALUES ('VISHAL','MALE','SALES',9193458625,'GAZIABAD'),
('DIVYA','FEMALE','MANAGER',7352158944,'BARIELLY'),
('REKHA','FEMALE','IT',7830246946,'KOLKATA'),
('RAHUL','MALE','MARKETING',9635688441,'MEERUT'),
('SANJAY','MALE','SALES',9149335694,'MORADABAD'),
('ROHAN','MALE','MANAGER',7352158944,'BENGALURU'),
('RAJSHREE','FEMALE','SALES',9193458625,'VODODARA'),
('AMAN','MALE','IT',78359941265,'RAMPUR'),
('RAKESH','MALE','MARKETING',9645956441,'BOKARO'),
('MOHINI','FEMALE','SALES',9147844694,'Dehli')
SELECT * FROM EMPDATA;
输出:
第 6 步:执行查询以将列值从“男”替换为“女”,将“女”替换为“男”。
最后,在这一步中,我们将实现查询以将列值从 'male' 替换为 'female' 和 'female' 到 'male'。这里我们使用UPDATE和CASE 声明。
我们可以使用带有 WHERE 子句或不带 WHERE 子句的 Update 语句。
- 不带 where 子句的 Update 语句:不带 Where 子句的 Update 语句用于更新表中的所有行。
询问:
UPDATE [EMPDATA] SET GENDER = ‘FEMALE’;
此查询将为所有行更新 GENDER = 'FEMALE'。
- 带 where 子句的更新语句:带 where 子句的更新语句用于在 SQL Server 中基于 WHERE 子句更新单行或多行。
询问:
UPDATE [EMPDATA] SET GENDER = ‘FEMALE’ WHERE EMPNAME = ‘AMAN’
- 对于多列更新:
询问:
UPDATE [EMPDATA] SET GENDER = ‘FEMALE’ WHERE EMPNAME = ‘AMAN’ or EMPNAME = ‘VIJAY’;
现在我们将执行查询以将列值从“男性”替换为“女性”和“女性”替换为“男性”
询问:
UPDATE [EMPDATA] SET GENDER = (CASE WHEN GENDER ='MALE' THEN 'FEMALE'
WHEN GENDER = 'FEMALE' THEN 'MALE'
END )
执行以下代码并注意我们要在此查询中评估 CASE Gender。
输出: