📌  相关文章
📜  将列值从“男性”替换为“女性”并将“女性”替换为“男性”的 SQL 查询

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

将列值从“男性”替换为“女性”并将“女性”替换为“男性”的 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'。这里我们使用UPDATECASE 声明。



我们可以使用带有 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。

输出: