就是把13.3kb最后的kb去掉,再乘1000(还是1024?)但是我不知道在sql里怎么判断是否以kb结尾,然后怎么把kb截去

解决方案 »

  1.   

    判断以'kb'或者'KB'或者'Kb'或者'kB'结尾: UPPER(column_name) LIKE '%KB'
    把'kb'或者'KB'或者'Kb'或者'kB'截去: TO_NUMBER(SUBSTR(column_name,1,LENGTH(column_name)-2+1))*1024
      

  2.   

    select decode(substr('13.3kb', length('13.3kb') - 1, length('13.3kb')),
                  'kb',
                  substr('13.3kb', 0, length('13.3kb') - 2) * 1000,
           '输出原值')
      from dual;
      

  3.   

    select replace(UPPER('Kb11KB22kb33'),UPPER('kb')) from dual