sql – 有什么理由,最小和最大不能在位字段上工作
发布时间:2020-12-12 16:38:13 所属栏目:MsSql教程 来源:网络整理
导读:可能我错过了一些东西,但是对于我来说,仍然看起来很奇怪,为什么不可能在位字段上使用max和min聚合.所以如果我尝试做这样的事情: declare @temp table (data bit)insert into @tempselect 1 union allselect 0select max(data) from @temp 我会得到一个错误操
可能我错过了一些东西,但是对于我来说,仍然看起来很奇怪,为什么不可能在位字段上使用max和min聚合.所以如果我尝试做这样的事情:
declare @temp table (data bit) insert into @temp select 1 union all select 0 select max(data) from @temp 我会得到一个错误操作数数据类型位对于最大运算符无效.但是如果我这样做: declare @temp table (data bit) insert into @temp select 1 union all select 0 select top 1 * from @temp order by data desc 它工作正常,所以SQL Server确实知道如何排序位字段.但是订购数据的可能性意味着我们可以获得最大或最小值. 解决方法除非我们可以从SQL Server团队获取一些内部信息,否则我们可能必须接受,有时候答案只是“因为”.文档很清楚,例如 MIN状态的MSDN页面;
我的猜测(是的,我准备好燃烧,因为在SO答案中冒犯了一个猜测),这个好处并不超过代码更改的风险.有什么好处呢? 您不是第一个要求的,但是MS Connect上的Aggregate functions on BIT columns: MIN and MAX的回应表明它不太可能改变. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |