1樓:
先根據「/」解析,
然後取出來「/」前半部分
to_number(nvl(substr(fieldname,0,instr(fieldname,'/')-1),0))
下面取出來「/」後半部分
to_number(nvl(substr(fieldname,instr(fieldname,'/'),length(fieldname)-fieldname,instr(fieldname,'/')),0))
就可以了
2樓:風口浪尖浪
很簡單的,使用replace就好了,比如欄位a為百分比格式(含%),replace(a,'%')就可以參與計算了,replace(a,'%')/100即將百分比換成小數形式
3樓:匿名使用者
用遊標迴圈動態計算,應該可以
loop
...execute immediate 'select ' || rec.exp|| ' from dual' into v;
sum:=sum+v;
end loop
但沒試過,其他辦法就不知道了
4樓:匿名使用者
表中有463214條記錄,兩個欄位,分別為型別和名稱,型別分1,2,3,現select * from 表名 sample(60) where 型別='1' union select * from
5樓:匿名使用者
to_number 函式只能轉換小數 為數值麼,看能不能把分數計算為小數了,再匯入麼
oracle中如何求百分比?
oracle 按百分比提取資料
6樓:情誤肥羊
樓上所說的分析函式,應該能實現lz所說的要求,不過可能還是有些難度的。挺費勁。 (不是攻擊哈)
lz所描述的,已經知道要取多少條資料,並且也知道各類分別要多少資料,那分別取一定量的資料再union不也可以麼?
select * from table_name where 型別='1' and rownum<=(234234*0.6) union
select * from table_name where 型別='2' and rownum<=(234234*0.3) union
select * from table_name where 型別='3' and rownum<=(234234*0.1)
這樣貌似是個笨辦法,但還算是比較簡單吧
不過有個問題就是,沒法做到「隨機」了,要實現真正的隨機又得費大勁了
7樓:匿名使用者
用percent_rank,舉個例子:
select *
from (select percent_rank() over (partition by 1 order by rownum) as pr, a.*
from recyclebin a
) a where pr <= 0.1
8樓:賓士
select * from 表名 sample(60) where 型別='1'
union
select * from 表名 sample(30) where 型別='2'
union
select * from 表名 sample(10) where 型別='3';
---以上,希望對你有所幫助。
oracle怎樣顯示百分比值
使用sql語句計算百分比
9樓:
注意%的格式問題:一般使用:
select
case when sum(toteltime) = '0' then '-' else to_char((sum(sa)/sum(toteltime))*100,'fm99999990.00')||'%'
from table
where ...
每一個百分比的計算都依此轉化即可
oracle 給統計多個欄位的資料結果 求之間的百分比
10樓:
round((countdelayed/countontimeair)*100,2) 這個時候是還不能用countdelayed,countontimeair欄位的,要在外面加一層;
count(case when air_date = '2013-10-21' then 1 else 0 end) 這裡你的本意是用sum的吧?count可能不是你想要的結果.
oracle計算百分比的時候怎麼顯示100%?
oracle 求百分比,例如:a/b*100=0.12,連線百分號(a/b*100)||'%',結果則變成.12%,想要顯示 0.12%,怎麼辦
11樓:匿名使用者
to_char(a/b*100,'fm999999990.999999999')||'%'
函式:to_char(數字,格式),格式小數點前面一位是零。
12樓:匿名使用者
to_char(a/b*100,'09.999'),表示整數2位,小數部分3位。
13樓:匿名使用者
select case when a/ b * 100 < 1 then '0' || to_char(a / b * 100) || '%' else to_char(a/b*100)||' % ' end from 表名
14樓:匿名使用者
好像沒什麼好方法哈
只能對於0.12%和12%這樣的分別處理,然後合併資料比如:兩列a和b
以下資料
a b
1 140
1 14
select (a/b)*100||'%' from 表名 where (a/b)*100>=1
union all
select replace((a/b)*100||'%','.','0.') from 表名 where (a/b)*100<1;
暫時還沒想到其他更好的,想到再說吧
oracle中如何求百分比
娛樂小八卦啊 實現 elect case when db psndoc.age 30 then 30歲以上 when db psndoc.age 30 then 30歲及以下 end ranges,count rs 100 round count sum count over 4 percent f...
百分比計算,百分比怎麼計算
很簡單的,我先跟您說說解題思路和解題方法,自己先做做,做不出來再告訴您詳細的 解題思路 不管總重量是多少,abcdefg所佔的比例是一樣的,並且利用已知的abcdefg的重量與總重量73.52公斤相除,可以求得。用此比例與需要新增的總重量相乘,可以求得abcdefg的新增重量。人工解題方法 分三步解...
摩爾百分比如何轉化為質量百分比質量百分比用wt表示摩爾百分比用什麼表示
c 1000 m,質量百bai 分比濃度,du 密zhi度,1000 立方厘米與升單位的換算,m 溶質dao的摩爾版質量,本公式權是推導公式,有1000的單位換算,所以不能帶單位計算。摩爾濃度是以1升溶液中所含溶質的摩爾數表示的濃度。以單位體積裡所含溶質的物質的量 摩爾數 來表示溶液組成的物理量,叫...