暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何在oracle查询中将10000转换为10k

askTom 2016-01-11
536

问题描述

我怎样才能把大笔钱变成10000美元或者10M呢

专家解答

如果要缩短大型数字,可以使用科学表示法或编写自定义转换函数,例如:

with nums as (
  select power(10, level) n from dual connect by level <= 10
)
  select n,
  to_char(n, '9.99EEEE') sci, 
  case 
    when n >= 1e9 then
     (n / 1e9) || 'G'
    when n >= 1e6 then
     (n / 1e6) || 'M'
    when n >= 1e3 then
     (n / 1e3) || 'K'
    else to_char(n)
  end formatted
from   nums;

           N SCI        FORMATTED                               
------------ ---------- -----------------------------------------
          10   1.00E+01 10                                       
         100   1.00E+02 100                                      
        1000   1.00E+03 1K                                       
       10000   1.00E+04 10K                                      
      100000   1.00E+05 100K                                     
     1000000   1.00E+06 1M                                       
    10000000   1.00E+07 10M                                      
   100000000   1.00E+08 100M                                     
  1000000000   1.00E+09 1G                                       
 10000000000   1.00E+10 10G

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论