floor相關

declare @f int =5
select floor(@f*0.22)
-- 直接可顯示結果

create table demo(
id int identity(1,1),
id1 int
)

select * from demo
insert into demo(id1)
select 2 union all
select 3 union all
select 4 union all
select 5 union all
select 6

--select top (FLOOR(@f*0.23)) * from dbo.demo
/* 消息 1060,級別 15,狀態 1,第 17 行
TOP 子句中的行數必須是整數。 */ 

select top (CAST(FLOOR(@f*0.5) AS int)) * from dbo.demo
-- 這樣就能夠獲得咱們所想要的結果

貌似是floor後面的整數在top之中不可以被識別出來。ide

相關文章
相關標籤/搜索