SQL Server BUG集之"自定义函数与group by"

王朝mssql·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

/**==** 1. 自定义函数用于group by时出错 **==**/

--一个简单的函数

create function f_str(@str sysname,@i int)

returns char(1)

as begin

return(substring(@str,@i,1))

end

go

--下面是测试

--定义测试数据

declare @t table(name sysname)

insert into @t values('abcd')

--有group by的情况,结果错误

select a=dbo.f_str(name,1),b=dbo.f_str(name,2)

from @t

group by dbo.f_str(name,1),dbo.f_str(name,2)

--无group by的情况,结果正确

select a=dbo.f_str(name,1),b=dbo.f_str(name,2)

from @t

go

--删除测试的自定义函数

drop function f_str

/*--测试结果

a b

---- ----

a a

(所影响的行数为 1 行)

a b

---- ----

a b

(所影响的行数为 1 行)

--*/

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航