拆分字符串的表值函数

简介:
复制代码
 1 -- 拆分字符串的表值函数
 2
 3 alter   Function  f_Split
 4 (
 5      @Str   Nvarchar ( max )
 6 ) Returns   @Re   Table
 7 (
 8     Id  int   Identity , Val  Nvarchar ( max )
 9 )
10 As
11 Begin
12      Declare   @Pos   Int
13      Set   @Pos   =   CharIndex (N ' , ' @Str )
14      While   @Pos   >   0
15      Begin
16          Insert   @Re   Values ( Left ( @Str @Pos   -   1 ))
17          Select
18              @Str   =   Stuff ( @Str 1 @Pos , N '' ),
19              @Pos   =   CharIndex (N ' , ' @Str )
20      End
21
22      If   @Str   >  N ''
23          Insert   @Re (Val)  Values ( @Str )
24
25      Return
26 End
27 Go
28
29 Select   *   From  dbo.f_Split(N ' hh,hello world,hyt ' )
复制代码

 

 正好csdn上有人问到相关的东西了,把这个函数稍加改进下

复制代码
 1 set  ANSI_NULLS  ON
 2 set  QUOTED_IDENTIFIER  ON
 3 go
 4
 5 Create   Function   [ dbo ] . [ f_Split ]
 6 (
 7      @Str   Nvarchar ( max ),
 8      @Spliter   Nvarchar ( 2 )
 9 ) Returns   @Re   Table
10 (
11     Id  int   Identity , Val  Nvarchar ( max )
12 )
13 As
14 Begin
15      If   @Spliter   Is   Null   Or  ( Len ( @Spliter ) = 0 )
16      Begin
17          Set   @Spliter   =  N ' , '
18      End
19
20      Declare   @Pos   Int
21      Set   @Pos   =   CharIndex ( @Spliter @Str )
22      While   @Pos   >   0
23      Begin
24          Insert   @Re   Values ( Left ( @Str @Pos   -   1 ))
25          Select
26              @Str   =   Stuff ( @Str 1 @Pos , N '' ),
27              @Pos   =   CharIndex ( @Spliter @Str )
28      End
29
30      If   @Str   >  N ''
31          Insert   @Re (Val)  Values ( @Str )
32
33      Return
34 End
复制代码

 

 

 

欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/archive/2009/03/22/1418787.html
相关文章
|
7月前
|
关系型数据库 MySQL 数据库
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
59 2
|
8月前
|
C语言
逻辑操作符
条件操作符(三目操作符)是C语言中唯一的三元运算符,形式为:表达式1 ? 表达式2 : 表达式3。如果表达式1为真,执行并返回表达式2的结果;否则,执行并返回表达式3的结果。示例和练习展示了如何使用此操作符来比较和输出两个数中的较大值。
47 1
|
7月前
|
C# 数据库
C#中的空合并运算符与空合并赋值运算符:简化空值处理
C#中的空合并运算符与空合并赋值运算符:简化空值处理
|
8月前
|
算法 Python
函数的概念和函数表达式的几种形式是什么?
函数的概念和函数表达式的几种形式是什么?
|
8月前
|
SQL 存储 定位技术
数据库基础(七):用户自定义数据类型与标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除
数据库基础(七):用户自定义数据类型与标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除
147 1
|
8月前
|
SQL 关系型数据库 MySQL
⑥ 【MySQL函数】字符串函数、数值函数、日期函数、流程函数
⑥ 【MySQL函数】字符串函数、数值函数、日期函数、流程函数
79 0
|
SQL 存储 关系型数据库
MySQL基础(SQL 字符串函数 数值函数 日期函数 流程函数)
1.Mysql下载安装启动 2.图形化界面工具 3.SQL 1.DDL 2.DML 3.DQL 4.DCL 1.管理用户 2.权限控制 4.函数 字符串函数 数值函数 日期函数 流程函数
MySQL基础(SQL 字符串函数 数值函数 日期函数 流程函数)
|
测试技术 Shell
[20180625]函数与标量子查询13(补充)
[20180625]函数与标量子查询13(补充).txt --//最近一段时间一直在测试标量子查询视buckets的数量,我前面的测试方法纯粹蛮力测试. --//参考链接:http://blog.
1338 0