2011-12-12 72 views
0

我有一张表,包含以下列,城市,州,邮政编码和区域。 我想用连字符更新城市 - 州 - 邮编区。带有列的更新表

有没有办法在SQL中执行此操作,而无需获取所有记录并迭代结果并为每个记录执行更新语句?

+0

如果”重新使用这个只是为了显示'City-State-Zip',然后去做,但如果你要将数据保存在一个表中,则为City-State-Zip,那么这是一个非常糟糕的主意。它打破了第一个正常形式的第一条规则 - 所有的列必须是原子的。 –

+0

@Raj More,它是一种解决方法,因为ESRI定位器样式只返回区域,而客户端需要城市,州,邮编。 – 0x4f3759df

回答

1
update table set zone = city + '-' + state + '- 
+ Zip 

注意如果数据类型是不同的,你可能需要做一些像

update table set zone = cast(city as varchar(50)) + '-' + cast(state as varchar(50)) + '- 
+ cast(Zip as varchar(50)) 
+0

注意:TABLE应该替换为你的表名。 –

2

你应该能够做到以下几点,如果我没有记错的话:

UPDATE [Table_Name] Set Zone = (City + '-' + State + '-' + Zip)