如何写这个语句? select name1,name2,name1/name2*100 from tablename 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select ((name1*10/name2)+(name1*10%name2)*10/name2*0.1) as name1除以name2的百分比 from table这只适用2位数,如果更多的话可以类似的代入。 我要的是直接就显示为一个百分数的值,nam1 name2 百分比22 56 30%33 67 67%45 68 56%就这种形式 select name1,mame2,cast(name1/name2*100 as nvarchar)+'%' from table 那你应该把类型转换为 varchar 否则报错:将数据类型 varchar 转换为 numeric 时出错因为%是varchar类型的,他们的类型不一样 现在行了,不过楼上的有点小错误应该是select nam1,name2,cast(name1*100/name2 as nvarchar)+'%' from table如果是name1/name2*100 这样结果都会为0的,因为name1和name2是INT类型,返回结果只有整数0 select name1,name2,cast((name1*100/name2) as varchar)+'%' from aaa select name1,name2,left((cast(name1 as float)/cast(name2 as float))*100,5)+'%' as per from #table1 把括号里的换成((name1*10/name2)+(name1*10%name2)*10/name2*0.1+((name1*10%name2)*10/name2*0.1)*10/name2*0.1) 如果要更多的小数位的话,类似的往后扩展就可以了。 弱弱的请教下:sql操作记录日志在哪里看啊?怎么看啊? SQL SERVER 2000+ MS VC++6.0 关于处理大量图片文件的管理 帮我看看这个存储过程错在哪里? sql 2005 money小数点问题 求触发器写法,谢谢 更新问题 sql7.0中关于使用事务日志恢复还原点的问题 SQL,随机出现50-100这51个数,其中的一个,谢谢~ 送分儿!!!为什么在SQL*Plus中执行完SQL语句后,结果不会被存入数据库? sql查询结果中有html格式如<p></p>,<br/>等,各位大神,有方法去掉吗 关于远程连接MSSQL的种种... 请教:怎样将几个字符变量组合成一个时间变量?
as name1除以name2的百分比
from table这只适用2位数,如果更多的话可以类似的代入。
nam1 name2 百分比
22 56 30%
33 67 67%
45 68 56%
就这种形式
因为%是varchar类型的,他们的类型不一样
应该是
select nam1,name2,cast(name1*100/name2 as nvarchar)+'%' from table如果是name1/name2*100 这样结果都会为0的,因为name1和name2是INT类型,返回结果只有整数0
select name1,name2,left((cast(name1 as float)/cast(name2 as float))*100,5)+'%' as per from #table1
((name1*10/name2)+(name1*10%name2)*10/name2*0.1+((name1*10%name2)*10/name2*0.1)*10/name2*0.1)
如果要更多的小数位的话,类似的往后扩展就可以了。