SQL Server BUG集之自定义函数与group by
发表于:2007-07-02来源:作者:点击数:
标签:
/**==** 1. 自定义函数用于group by时出错 **==**/--一个简单的函数create function f_str(@str sysname,@i int)returns char(1)as begin return(substring(@str,@i,1)) endgo --下面是 测试 --定义测试数据declare @t table(name sysname)insert into @t va
/**==** 1. 自定义函数用于group by时出错 **==**/--一个简单的函数create function f_str(@str sysname,@i int)returns char(1)as begin return(substring(@str,@i,1)) endgo
--下面是
测试--定义测试数据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 @tgroup 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 @tgo
--删除测试的自定义函数drop function f_str
/*--测试结果a b ---- ---- a a
(所影响的行数为 1 行)
a b ---- ---- a b
(所影响的行数为 1 行)--*/
原文转自:http://www.ltesting.net