有表 test ,三个字段 时间,平均值,累计流量:
 
时间                 平均值                 累计流量
2011-1-1             500.00                 30.0
2011-1-2             600.00                 20.0
2011-1-3             550.00                 30.0其中 平均值和累计流量都是 varchar类型想要得到的结果是: 求出排放量,排放量=平均值*累计流量。如,此时结果应为:时间            平均值          排放量
2011-1-1         500.00         15000.00
2011-1-2         600.00         12000.00
2011-1-3         550.00         16500.00此处需要两种操作,先将varchar转换为float或double,再相乘。
如何实现呢?

解决方案 »

  1.   

    select 时间,平均值,convert(平均值,decimal(18,2))*convert(累计流量,decimal(18,2)) from test
      

  2.   

    select 时间,平均值,排放量 = cast(平均值 as decimal(18,2))*cast(累计流量 as decimal(18,2))
    from test
      

  3.   


    declare @a varchar(10),@b varchar(10)
    set @a='500.00'
    set @b='30.0'select cast(@a as decimal(18,2))* cast(@b as decimal(18,1))
      

  4.   

    select 时间,平均值,convert(decimal(18,2),平均值)*convert(decimal(18,2),累计流量) from test