ACCESS Jet SQL INT()函数 - > SQL Server功能

时间:2009-08-21 15:58:53

标签: sql sql-server-2005 ms-access function

我正在将Access Jet-SQL查询转换为T-SQL,我遇到了Int()函数。现在,我想将其转换为T-SQL,这是我到目前为止所做的:

--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,因为这是一个adhoc查询。谢谢!

2 个答案:

答案 0 :(得分:3)

SELECT FLOOR(@test)

答案 1 :(得分:1)

哦,是的......

select convert(int, floor(@test))

没关系......