2011-12-12 96 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)