本帖最后由 ittv0721 于 2011-04-28 16:19:38 编辑

解决方案 »

  1.   


    --你需要把数据类型转换为字符型,否则数据库会隐式转换将int转为decimal(18,4),
     -- int,decimal(18,4)不能共存在一个集合里。
    declare @sl decimal(18,4)
    set @sl=9.0000
    select case when cast(@sl as int)=@sl then rtrim(cast(@sl as int)) else rtrim(@sl) end
    set @sl=9.0001
    select case when cast(@sl as int)=@sl then rtrim(cast(@sl as int)) else rtrim(@sl) end/*
    -----------------------------------------
    9(1 行受影响)
    -----------------------------------------
    9.0001