SQL Server 裡面客戶地址也要升格

  • 4615
  • 0

SQL Server 裡面客戶地址也要升格

1.臺北縣改制為新北市、臺中縣與臺中市合併改制為臺中市、臺南縣與臺南市合併改制為臺南市、高雄縣與高雄市合併改制為高雄市
2.臺北縣、臺中縣、臺南縣及高雄縣原有門牌列有「鄉、鎮、市」字者,以「區」字遮蓋,列有「村」字者,以「里」字遮蓋

相信很多人的公司地址都需要變動可是要用什麼樣的語法來改好比較好呢,我覺得還是土法練鋼好了比較穩相對SQL2000或以下的版本用的人還是很多又不援新的T-SQL語法,就上面的二條法令轉成下列更新語法:

UPDATE     客戶
SET  地址 = replace(地址, '村', '里')
where
                      (地址 LIKE '%台中縣%' OR
                      地址 LIKE '%台南縣%' OR
                      地址 LIKE '%高雄縣%' OR
                      地址 LIKE '%北縣%') AND (地址 LIKE '%村%')

UPDATE     客戶
SET  地址 = replace(地址, '鄉', '區')
where
                      (地址 LIKE '%台中縣%' OR
                      地址 LIKE '%台南縣%' OR
                      地址 LIKE '%高雄縣%' OR
                      地址 LIKE '%北縣%') AND (地址 LIKE '%鄉%')

UPDATE     客戶
SET  地址 = replace(地址, '鎮', '區')
where
                      (地址 LIKE '%台中縣%' OR
                      地址 LIKE '%台南縣%' OR
                      地址 LIKE '%高雄縣%' OR
                      地址 LIKE '%北縣%') AND (地址 LIKE '%鎮%')

UPDATE     客戶
SET  地址 = replace(地址, '市', '區')
where
                      (地址 LIKE '%台中縣%' OR
                      地址 LIKE '%台南縣%' OR
                      地址 LIKE '%高雄縣%' OR
                      地址 LIKE '%北縣%') AND (地址 LIKE '%市%')


UPDATE     客戶
SET  地址 = replace(地址, '北縣', '新北市')
where 地址 LIKE '%北縣%'
UPDATE     客戶
SET  地址 = replace(地址, '台中縣', '臺中市')
where 地址 LIKE '%台中縣%'
UPDATE     客戶
SET  地址 = replace(地址, '台南縣', '臺南市')
where 地址 LIKE '%台南縣%'
UPDATE     客戶
SET  地址 = replace(地址, '高雄縣', '高雄市')
where 地址 LIKE '%高雄縣%'