相关疑难解决方法(0)

在SQL Server中从CSV列创建表而不使用游标

给出一张表:

|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)

t-sql sql-server cursor

9
推荐指数
1
解决办法
7081
查看次数

标签 统计

cursor ×1

sql-server ×1

t-sql ×1