给出一张表:
|Name | Hobbies |
-----------------------------------
|Joe | Eating,Running,Golf |
|Dafydd | Swimming,Coding,Gaming |
Run Code Online (Sandbox Code Playgroud)
我想将这些行拆分出来得到:
|Name | Hobby |
----------------------
|Joe | Eating |
|Joe | Running |
|Joe | Golf |
|Dafydd | Swimming |
|Dafydd | Coding |
|Dafydd | Gaming |
Run Code Online (Sandbox Code Playgroud)
我在下面完成了这个(示例已准备好在SSMS中运行),购买我的解决方案使用我觉得很难看的游标.有没有更好的方法呢?我在SQL Server 2008 R2上,如果有任何新的东西可以帮助我.
谢谢
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Split]') and xtype in (N'FN', N'IF', N'TF')) drop function [dbo].Split
go
CREATE FUNCTION dbo.Split (@sep char(1), @s varchar(512))
RETURNS table
AS
RETURN …Run Code Online (Sandbox Code Playgroud)