从数据类型 nvarchar 转换为 numeric 时出错

SELECT MAX(t1.todaymaxvol) todaymaxvol,towernumber FROM (

SELECT CONVERT(decimal(20,2), LTrim(RTrim(volume))) todaymaxvol , towernumber FROM catch_gas (nolock) WHERE 1=1 

 and CONVERT(varchar(100), time,20)>='2019-01-01 20:30:59'

 AND CONVERT(varchar(100), time, 20) <='2019-02-01 08:30:59' AND towernumber <>'140807101810(二期)'

) t1 GROUP BY towernumber

image.png

运行红色部门就不报错 ,整体运行就报错 从数据类型 nvarchar 转换为 numeric 时出错,应该是条件中日期的比较那边出问题了,但是不知道怎么解决…………

tangshi998 发布于 2019-2-14 11:40 (编辑于 2019-2-14 11:40)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
5
zsh331Lv8专家互助
发布于2019-2-14 13:18
SELECT
    MAX(t1.todaymaxvol) todaymaxvol,
    towernumber
FROM
    (
        SELECT
            CONVERT ( DECIMAL (20, 2), LTrim(RTRIM(volume)) )*1 todaymaxvol,
            towernumber
        FROM
            catch_gas (NOLOCK)
        WHERE
            1 = 1
        AND CONVERT (VARCHAR(100), TIME, 20) >= '2019-01-01 20:30:59'
        AND CONVERT (VARCHAR(100), TIME, 20) <= '2019-02-01 08:30:59'
        AND towernumber <> '140807101810(二期)' ) t1
GROUP BY
    towernumber


  • tangshi998 tangshi998(提问者) 还是一样报错,应该不是volume的问题,感觉是time的问题,time自动转换的问题
    2019-02-14 13:53 
  • zsh331 zsh331 回复 tangshi998(提问者) 检查你left join 里面的 on 条件。
    2019-02-14 15:19 
  • 2关注人数
  • 3559浏览人数
  • 最后回答于:2019-2-14 13:18
    请选择关闭问题的原因
    确定 取消
    返回顶部