为邮政编码创建虚拟变量并填充现有表

时间:2013-06-13 14:15:36

标签: sql-server-2008

我的数据中有太多的邮政编码,使用它作为分类变量来运行分析,所以我需要创建一个虚拟变量。位置和组邮政编码。目前,我有一个标有位置的空白列,需要填充。示例遵循

ID ZIP位置

1 28201

2 28202

3 28203

4 28206

5 28207

6 38300

7 38305

8 38306

我想做一些像那样的事情,虽然我在考虑在SAS中使用的IF THEN。类似于IF 28200< zip< 29200 then Location = 1;如果38000< zip< 39000然后位置= 2

ID ZIP位置

1 28201 1

2 28202 1

3 28203 1

4 28206 1

5 28207 1

6 38300 2

7 38305 2

8 38306 2

1 个答案:

答案 0 :(得分:1)

我相信你正在寻找CASE。像

这样的东西
UPDATE table
SET location = 
    CASE
        WHEN zip > 28200 AND zip < 29200 THEN 1
        WHEN zip > 38000 AND zip < 39000 THEN 2
    END;