【发布时间】:2013-12-29 01:19:28
【问题描述】:
我知道这个问题已被问过很多次,但找不到我需要的。
我有此列“订单”,其中包含以下格式的数据。 'xxx,yyy,zzzz'
现在,当我执行 select 语句时,我需要通过拆分这一列来填充 3 列
例如
Select Name,
Surname,
FirstCommaColumn=xx.UpToFirstColumn
SecondCommaColumn=xx.FromFirstCommaToLastComma,
ThirdColumnFromSecondCommaOnwards=FromSecondCommaToEnd
from myTable
--thought of doing something like
CROSS APPLY (SELECT TOP 1 * FROM dbo.SplitFunctionIDontHave(order,',')) AS xx
有些行没有逗号,所以我必须返回空白。 我不介意我是在函数中还是在查询本身中执行此操作,只是不确定如何执行此操作。
如何使用 SQL Server 2008 做到这一点? 如果有所作为,此选择是视图的一部分
【问题讨论】:
-
sql server中没有Split()函数
-
Jade,我知道我没有在寻找一个可以满足我需要的东西或一些代码来拆分列。
-
最好不要尝试将多个数据项存储在单个列中。
-
@user231465,是的,对不起,我把我的答案移到下面。
-
@Damien_The_Unbeliever,我没有选择将这个数据库导入我们的系统。
标签: sql sql-server-2008 tsql split