oracle資料格式為百分比,咋樣能參與計算

2022-12-21 15:10:13 字數 3160 閱讀 1367

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升溶液中所含溶質的摩爾數表示的濃度。以單位體積裡所含溶質的物質的量 摩爾數 來表示溶液組成的物理量,叫...