我有一列的表,看起来像这样:分割字符串返回记录
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