SQL Server BUG集之"自定义函数与group by"
2004-07-21 13:27
316 查看
/**==** 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 行)
--*/
--一个简单的函数
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 行)
--*/
相关文章推荐
- 用SQL语句来建立跟踪的问题
- 数据导入到oracle时去掉触发器可以提速
- 数据库中的图片数据怎样在Image中显示
- SQL Server应用程序中的高级SQL注入
- MSDE絶配SqlBuddy
- sql语句插入的数据中含有单引号怎么办?
- 操作SQL Server完全模块
- Connection大全
- 常用数据库JDBC连接写法
- 精妙SQL语句介绍
- 关于Access数据库安全
- 从海量数据表中获取当前页已排好序的纪录!
- 随机抽取n个记录的SQL
- 小议sqlserver数据库主键选取策略
- EJB简略配置
- Oracle数据库几种关闭方式
- 批处理JDBC语句以提高处理速度
- 留言版和新闻系统一些常用的函数
- Oracle 数据库的限制(9iR2)
- 聚簇索引与非聚簇索引的区别以及SQL Server查询优化技术