不允许从数据类型datetime到数据类型int的隐式转换 -

时间:2015-09-08 11:05:03

标签: sql-server datetime

DECLARE @minusDate   DATETIME 
DECLARE @unixTimeConst  INTEGER 
DECLARE @unixBeginDate  DATETIME

SELECT 
    @counterWS =  COUNT(*) 
FROM  
    wmservice_min_max 
WHERE    
    @unixBeginDate + LASTTIME / @unixTimeConst  < @minusDate

LASTTIME是一个日期时间类型的列。

我收到以下错误:

  

不允许从数据类型datetime到数据类型int,table&#39; wmservice_min_max&#39;,column&#39; LASTTIME&#39;进行隐式转换。使用CONVERT函数运行此查询。

1 个答案:

答案 0 :(得分:1)

你可以像这样修改查询,但我从逻辑上怀疑你期望得到的输出。

            DECLARE @minusDate   DATETIME 
            DECLARE @unixTimeConst  INTEGER 
            DECLARE @unixBeginDate  DATETIME
            DECLARE @counterWS INT

            SELECT 
                @counterWS =  COUNT(*) 
            FROM  
               #TEMP
            WHERE    
                CAST((@unixBeginDate + LASTTIME) AS INT) / @unixTimeConst  < @minusDate