sql中执行带参数的函数
2009-07-29 17:46
155 查看
Code
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author: <MIN>
-- Create date: <2007-12-12>
-- Description: <分解字符串>
-- =============================================
---执行
-- SELECT * from dbo.Split_String ('a,b,c,d,we3r',',')
ALTER FUNCTION [dbo].[Split_String]
(
@split_string varchar(max), --要进行分解的字符串
@tag_string varchar(10) --分解标志
)
RETURNS
@split_table TABLE
(
split_value varchar(200)
)
AS
BEGIN
declare @temp_string varchar(max)
declare @start_index int
declare @end_index int
while 1=1
begin
set @start_index = 0
select @end_index = CharIndex(@tag_string,@split_string,@start_index)
if @end_index <> 0
begin
set @temp_string = Substring(@split_string,@start_index,@end_index)
if @temp_string is not null and @temp_string <> ''
insert into @split_table(split_value) values(@temp_string)
set @start_index = @end_index + 1
set @split_string = Substring(@split_string,@start_index,len(@split_string))
end
else
begin
if @split_string is not null and @split_string <> ''
insert into @split_table(split_value) values(@split_string)
break
end
end
RETURN
END
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author: <MIN>
-- Create date: <2007-12-12>
-- Description: <分解字符串>
-- =============================================
---执行
-- SELECT * from dbo.Split_String ('a,b,c,d,we3r',',')
ALTER FUNCTION [dbo].[Split_String]
(
@split_string varchar(max), --要进行分解的字符串
@tag_string varchar(10) --分解标志
)
RETURNS
@split_table TABLE
(
split_value varchar(200)
)
AS
BEGIN
declare @temp_string varchar(max)
declare @start_index int
declare @end_index int
while 1=1
begin
set @start_index = 0
select @end_index = CharIndex(@tag_string,@split_string,@start_index)
if @end_index <> 0
begin
set @temp_string = Substring(@split_string,@start_index,@end_index)
if @temp_string is not null and @temp_string <> ''
insert into @split_table(split_value) values(@temp_string)
set @start_index = @end_index + 1
set @split_string = Substring(@split_string,@start_index,len(@split_string))
end
else
begin
if @split_string is not null and @split_string <> ''
insert into @split_table(split_value) values(@split_string)
break
end
end
RETURN
END
相关文章推荐
- sql server执行动态拼接sql(带传参数)和去掉小数点后0的函数
- 关于T-SQL重编译那点事,内联函数和表值函数在编译生成执行计划的区别
- 在c#中执行sql语句时传递参数
- PDOstament对象执行execute()函数,只要是sql语句正确都是返回true
- 动态执行SQL语句,并输出参数
- asp执行带参数的sql语句实例
- mysql免密码登录, 及使用-e 参数执行sql脚本
- 执行带参数的SQL, sp_executesql
- sql语句与执行update更新操作内的参数顺序关系
- php使用odbc执行复杂函数遇到的问题,sql语句直接在sqlserver数据库中运行有结果,使用php总是为空
- SSIS中执行SQL任务组件参数传递的问题
- log4j打印mybatis执行sql,将占位符换成真实的参数输出
- 执行多条SQL语句,执行数据库事务(可传入Sql参数)
- [Hb-XVII] 计算机的抽象层次-简 使用寄存器 使用内存空间 程序执行过程 使用main函数规定 不定参数函数机制 C
- SQL中函数 replace 的参数1的数据类型ntext无效的解决方法
- 在c#中执行sql语句时传递参数的小经验
- SQL中函数 replace 的参数1的数据类型ntext无效的解决方法
- 执行存储过程--“为过程或函数指定了过多的参数”的错误
- Delphi执行SQL提示“不正常地定义参数对象”,“提供了不一致或不完整的信息”错误
- node events模块扩展,多个带参数的监听函数顺序执行