sql自定义函数不能使用子查询赋值吗
use
testok
go
alter function getmess(@para varchar(1000),@seekindex int)
returns varchar(50)
as
begin
declare @index int,@temp varchar(1000),@i int
set @i=0
while @i<=@seekindex
begin
set @index=CHARINDEX(',',@para)
set @i=@i+1
set @temp=SUBSTRING(@para,@index,LEN(@para)-@index)
end
return @temp
end
create table testlog(id int,parama varchar(1000),createdate date default getdate())
insert into testlog values(1,'a,dd,cc,eee,tttt,ooo,,,d','2047-12-01')
select * from testlog
select dbo.getmess('a,dd,cc,eee,tttt,ooo,,,d',3)
自己写了个函数,为什么我用select dbo.getmess(select parama from testlog where id=1,3) 查询不行啊
testok
go
alter function getmess(@para varchar(1000),@seekindex int)
returns varchar(50)
as
begin
declare @index int,@temp varchar(1000),@i int
set @i=0
while @i<=@seekindex
begin
set @index=CHARINDEX(',',@para)
set @i=@i+1
set @temp=SUBSTRING(@para,@index,LEN(@para)-@index)
end
return @temp
end
create table testlog(id int,parama varchar(1000),createdate date default getdate())
insert into testlog values(1,'a,dd,cc,eee,tttt,ooo,,,d','2047-12-01')
select * from testlog
select dbo.getmess('a,dd,cc,eee,tttt,ooo,,,d',3)
自己写了个函数,为什么我用select dbo.getmess(select parama from testlog where id=1,3) 查询不行啊
...全文
相关推荐
oracle与SQL server的语法差异总结
Oracle与SQL Server应用差异对比分析在Oracle中采用伪列rownum 获取结果集中排在前面的部分记录 Eg: 返回结果集中前10条记录 Select * from sysc01 where rownum <=10 Rownum可使用<、<=符号,不可使用>、>=符号,如果使用=号只可=1 2、Rownum列还常用于形成结果集的顺序号,从而可获取一定序号范围的行 Eg: 获取按code排名第10到20行 Select * from (Select a.*,rownum as nrow from tab01 a order by code) where nrow between 10 and 20
SQL子查询和嵌套查询
SQL子查询和嵌套查询
sql子查询的一些例子
sql子查询的一些例子,值得收藏
SQL变量声明和赋值知识归纳
SQL变量声明和赋值知识归纳 菜鸟进 高手路过
sql子查询总结
在SQL语言中,当一个查询语句嵌套在另一个查询的查询条件之中时,称为子查询。


