我正在将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查询。谢谢!
答案 0 :(得分:3)
SELECT FLOOR(@test)
答案 1 :(得分:1)
哦,是的......
select convert(int, floor(@test))
没关系......