我有一個varchar
列具有以下字符串的變化:有沒有更好的方法來對字符串進行多重替換?
Stations, FlightName, FlightWeeks, BindTo, SpotLength, foo, bar, etc...
我需要將其更改爲Stations
到Station
,FlightName
到Flight Name
,BindTo
到Bind To
等,最終出來的是這樣的:
Station; Flight Name; Weeks; Bind To; Spot Length; foo; bar
等
我有一個非常醜陋的代碼來做到這一點:
select replace(replace(replace(replace(replace(replace(GroupFlightsBy, ', ', ';'),
'Stations', 'Station'), 'FlightName', 'Flight Name'), 'FlightWeeks', 'Weeks'), 'BindTo', 'Bind To'),
'SpotLength', 'Spot Length')
有沒有更好的方法做到這一點,但作爲性能?
首先想到的不是關於字符串替換;但它聽起來像是將數據合併到varchar-column中,而不是使用單獨的列。這些值是什麼意思? – sisve 2015-03-03 07:10:19
@SimonSvensson基本上這些是來自多選下拉框的值。數據已經存在 - 我無法改變它。 – AngryHacker 2015-03-03 07:21:18
爲什麼你不能更改數據庫?它是否存儲在一些只讀媒體上?還是你說你作爲一個開發人員,在開發過程中被認爲是最好的,沒有權限去做改變? (引導性問題;數據庫總是可以改變的;不變的要求通常來自於人類的某個地方) – sisve 2015-03-03 07:40:36