SQL语句 将字符串转换成浮点型再计算

taoer0812 2011-02-14 02:32:15
有表 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,再相乘。
如何实现呢?
...全文
999 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuam 2011-02-14
  • 打赏
  • 举报
回复
select 时间,平均值,convert(decimal(18,2),平均值)*convert(decimal(18,2),累计流量) from test
快溜 2011-02-14
  • 打赏
  • 举报
回复

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))
feixianxxx 2011-02-14
  • 打赏
  • 举报
回复
select 时间,平均值,排放量 = cast(平均值 as decimal(18,2))*cast(累计流量 as decimal(18,2))
from test
xuam 2011-02-14
  • 打赏
  • 举报
回复
select 时间,平均值,convert(平均值,decimal(18,2))*convert(累计流量,decimal(18,2)) from test

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧