2009-08-21 69 views
2

我正在將Access Jet-SQL查詢轉換爲T-SQL,並且我遇到了Int()函數。現在,我想將其轉換成T-SQL,這是我到目前爲止有:ACCESS Jet SQL INT()函數 - > SQL Server函數

--Works for Positive 
Select CONVERT(INT, 1.2) 
--Answer = 1 

--Not the same as Access 
SELECT CONVERT(INT, -1.2) 
--Answer = -1 

現在,根據this,我需要它返回-2,-1不是。有沒有人有更清潔的T-SQL代碼比:

DECLARE @test FLOAT 
SET @test = -1.2 

SELECT CASE WHEN @test < 0 THEN CONVERT(INT, @test) - 1 ELSE CONVERT(INT, @test) END 

任何人都可以拿出比這更乾淨的代碼(僅限T-SQL)嗎?沒有UDF,因爲這是一個特殊查詢。謝謝!

回答

3

SELECT FLOOR(@test)

1

噢......

select convert(int, floor(@test)) 

沒關係......