sql 如何在TSQL中执行SPLIT

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 如何在TSQL中执行SPLIT相关的知识,希望对你有一定的参考价值。

SELECT * FROM dbo.splitstring('91,12,65,78,56,789')
Alter FUNCTION dbo.splitstring ( @stringToSplit VARCHAR(MAX) )
RETURNS
 @returnList TABLE ([Name] [nvarchar] (500))
AS
BEGIN

  -- Credit: http://stackoverflow.com/questions/10914576/tsql-split-string
 DECLARE @name NVARCHAR(255)
 DECLARE @pos INT

 WHILE CHARINDEX(',', @stringToSplit) > 0
 BEGIN
  SELECT @pos  = CHARINDEX(',', @stringToSplit)  
  SELECT @name = SUBSTRING(@stringToSplit, 1, @pos-1)

  INSERT INTO @returnList 
  SELECT @name

  SELECT @stringToSplit = SUBSTRING(@stringToSplit, @pos+1, LEN(@stringToSplit)-@pos)
 END

 INSERT INTO @returnList
 SELECT @stringToSplit

 RETURN
END

以上是关于sql 如何在TSQL中执行SPLIT的主要内容,如果未能解决你的问题,请参考以下文章

TSQL 数组初始化和 LINQ Where on Array

TSQL迭代表中的子集 - 根据组更新值

如何从 tsql (sql 2005) 中的 utc 日期时间计算本地日期时间?

TSQL / SQL-SERVER:如何在具有主键的快照复制中查找所有表

如何在 C# 中执行包含带有“-”、“\”或“;”的字符串的 TSQL 输入命令

Transact SQL运行另一个Transact SQL脚本