1

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

我想将 int 发送到存储过程并将其与该双精度进行比较,但我想比较该双精度的 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

但结果为空

4

1 回答 1

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
于 2013-06-13T06:43:17.563 回答