2009-08-21 3 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는 임시 쿼리이므로 UDF가 없습니다. 감사!

답변

3

SELECT FLOOR (@Test)

1

오, 그래 ...

select convert(int, floor(@test)) 

는 신경 쓰지 마 ...