本文实例讲述了SQL Server实现split函数分割字符串功能及用法。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
/*
函数名称:f_SplitToNvarchar
作用:实现split功能的函数
更新记录:
设计思路:将nvarchar类型字符结合的一个串,分隔到一张只有一列nvarchar类型的表里
*/
CREATE FUNCTION [dbo].[f_SplitToNvarchar]
(
@SourceSql NVARCHAR( MAX ), --源分隔字符串
@StrSeprate VARCHAR (10) --分隔符
)
RETURNS @ temp TABLE (col NVARCHAR( MAX ))
AS
BEGIN
DECLARE @i INT
SET @SourceSql = RTRIM(LTRIM(@SourceSql))
SET @i = CHARINDEX(@StrSeprate, @SourceSql)
WHILE @i >= 1
BEGIN
INSERT @ temp
VALUES
(
LEFT (@SourceSql, @i -1)
)
SET @SourceSql = SUBSTRING (@SourceSql, @i + 1, LEN(@SourceSql) -@i)
SET @i = CHARINDEX(@StrSeprate, @SourceSql)
END
IF @SourceSql <> '\'
INSERT @ temp
VALUES
(
@SourceSql
)
RETURN
END
GO
|
调用示例:
1
|
SELECT col FROM f_SplitToNvarchar( '1,2,3,4' , ',' );
|
如图所示:
希望本文所述对大家SQL Server数据库程序设计有所帮助。