sql server 2008 r2将int与double进行比较

时间:2013-06-12 20:17:29

标签: sql-server casting sql-server-2008-r2

我有双值的表,我想获取数据表格。

我想将int发送到存储过程并将其与该double进行比较,但我想比较那个double的int,例如

我有33.3654,如果我发送33,结果应为真。

我试过这个

ALTER PROCEDURE dbo.getRestaurantNear
    (
    @lat INT,
    @lon INT,
    @ID INT OUTPUT,
    @restaurantID INT OUTPUT,
    @description VARCHAR(200) OUTPUT
    )
AS
BEGIN
    SET NOCOUNT ON
    SELECT ID, restaurantID, description
    FROM RestaurantAddressMap
    WHERE CAST(lat AS INTEGER) = @lat
    AND
    CAST(lon AS INTEGER) = @lon
END

但结果是空的

1 个答案:

答案 0 :(得分:1)

试试这个 -

ALTER PROCEDURE dbo.getRestaurantNear
(
      @lat INT
    , @lon INT
)
AS BEGIN

    SET NOCOUNT ON;

    SELECT 
          ID
        , restaurantID
        , [description]
    FROM dbo.RestaurantAddressMap
    WHERE ROUND(lat, 0) = @lat
        AND ROUND(lon, 0) = @lon

END