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函数运行此查询。
答案 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