sql - SQL Server 根据条件插入和更改数据

标签 sql sql-server insert sql-update case

我目前有 Table1,其中包括

 ID Gender
 1  m
 2  f
 3  f
 4  m
 5  f
 6  f

现在我想将此数据插入第二个表 (Table2)。但基本上我试图用“男性”和“女性”这两个词来插入它。 因此,例如,当表 1 中的 Gender = 'm' 时,我想将字符 'Male' 插入到第二个表 (table2) 中,对于女性也是如此。

我创建了一些代码,例如

 UPDATE Table2
 SET 
 Gender =
 ( CASE WHEN Table1.Gender = 'm' THEN 'Male'
 WHEN Table1.Gender = 'f' THEN 'Female'
 ELSE 'N/a'
 END)

如果有任何帮助,我有一个 SQL Fiddle 模式 -

http://sqlfiddle.com/#!9/8a3080

谢谢

最佳答案

您可以通过使用 Case 表达式来使用 INSERT 语句而不是 UPDATE :

INSERT INTO table2
       SELECT id,
              CASE(Gender)
                  WHEN 'm'
                  THEN 'Male'
                  WHEN 'f'
                  THEN 'Female'
              END
       FROM table1;

结果(表 2):

ID  Gender
1   Male
2   Female
3   Female
4   Male
5   Female
6   Female

关于sql - SQL Server 根据条件插入和更改数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46809890/

相关文章:

mysql - 计数到一个数字 x - sql

mysql - 延迟启动 SAS EG 中的程序

sql - sys.columns 显示详细信息,但 sys.tables 中缺少表

sql-server - Team Foundation Server - Sql Server 版本管理

database - 在 Django 中插入多对多对象的正确方法?

sql - 在 View 中动态更新

PHP zend left join 转换查询中的日期

sql - 如何在分区表中使用主键

mysql - 是否可以在 MySQL 中获取表的整数值?

MySQL,插入语句,其值作为选择语句