ACCESS Jet SQL INT () Функция -> SQL Server Функция - PullRequest
2 голосов
/ 21 августа 2009

Я конвертирую запрос 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

Теперь, согласно этому , мне нужно, чтобы оно возвращало -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)? Нет пользовательских функций, так как это специальный запрос. Спасибо!

Ответы [ 2 ]

3 голосов
/ 21 августа 2009

ВЫБРАТЬ ЭТАЖ (@test)

1 голос
/ 21 августа 2009

О да ...

select convert(int, floor(@test))

Не бери в голову ...

...