sql server 怎样用select语句调用自定义表值函数
createfunction[dbo].[f_split](@SourceSqlvarchar(8000),@StrSepratevarchar(10))returns@...
create function [dbo].[f_split](@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
--实现split功能 的函数
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
select * from f_split(ab-cd-erf,‘-’)这样没有问题,
但调用select f_split(应用行业代码,';') FROM [master].[dbo].[分列测试]会报错,'f_split' 不是可以识别的 内置函数名称。这样的自定义函数应该怎样调用? 展开
returns @temp table(a varchar(100))
--实现split功能 的函数
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
select * from f_split(ab-cd-erf,‘-’)这样没有问题,
但调用select f_split(应用行业代码,';') FROM [master].[dbo].[分列测试]会报错,'f_split' 不是可以识别的 内置函数名称。这样的自定义函数应该怎样调用? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询