有关对字段判断长度然后截取取数的效率问题
描述:取数对象为data(不存在中文字符),如果data长度大于20,则取data后17位,否则取完整的data,现我使用了两种方法:1.用case when,
case when length(data)>20 then substr(data,length(data)-16,17) else data end as D
2.用decode
decode(trunc(length(data)/20),0,data,substr(data,length(data)-16,17)) as D
想问下上面哪种方法效率高些,还有没有更快的方法? 怎么没人赐教 case when的性能应该比较高啊。 使用dbms_utility.get_time测试下不就结了?
页:
[1]