我有一列的表,看起來像這樣:分割字符串返回記錄
Gaming | Austria | 47.9333, 15.1
Hebei | China | 39.8897, 115.275
這意味着,每一行是一個包含了一些位置,一個字符串(VARCHAR),由一個分隔的不同字段管道(|)。
我想編寫一個返回下面的查詢:
------- ---------- ---------------------------------
Gaming Austria Gaming | Austria | 47.9333, 15.1
Hebei China Hebei | China | 39.8897, 115.275
這意味着我要3列:爲城市,爲國家和原始列。
雖然拆分城市很簡單(CHARINDEX和SUBSTRING的結合),但提取國家似乎更具挑戰性。棘手的部分是要知道字符串中country字段的長度,所以可以使用SUBSTRING來提取它。
我意識到我可能不得不在T-SQL中編寫SPLIT函數,但我不確定如何編寫一個將數據作爲記錄返回而不是作爲表返回的函數。
提示和/或解決方案將更受歡迎。
呃,這是可怕的表設計:(希望你可以改變它在某些時候 – 2009-12-01 15:50:11
是啊,肯定很抱歉聽到你必須使用該 – 2009-12-01 15:52:48