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

来源:互联网 发布:深圳潮流网络怎么样 编辑:程序博客网 时间:2024/05/02 00:01

SQL Server BUG集之自定义函数与group by-数据库专栏,SQL Server

 

/**==** 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 行)--*/