有个字段,里面的值可能是13366或者13.3kb,怎么判断并统一输出13366的结果
就是把13.3kb最后的kb去掉,再乘1000(还是1024?)
但是我不知道在sql里怎么判断是否以kb结尾,然后怎么把kb截去
------最佳解决方案--------------------select decode(substr('13.3kb', length('13.3kb') - 1, length('13.3kb')),
'kb',
substr('13.3kb', 0, length('13.3kb') - 2) * 1000,
'输出原值')
from dual;
------其他解决方案--------------------判断以'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
------其他解决方案--------------------select replace(UPPER('Kb11KB22kb33'),UPPER('kb')) from dual