关于截位函数 我要截取一个字符段的后11为,,一个怎么截取啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SELECT substr('asx1234567890a',length('asx1234567890a')-10,11) FROM dual; SQL> select substr('bcdefghijklmnop',length('bcdefghijklmnop')-10,11) from dual;SUBSTR('BCDEFGHIJKLMNOP',LENGT------------------------------fghijklmnop 还可以这么用:SELECT substr('asx1234567890a',-11) FROM dual; 需要去掉的左边的数字相对是固定的,可以考虑用ltrim 如大陆的去掉86, 那怎么决定是取9位还是11位呢?根据具体情况用decode应该可以解决如SELECT substr('asx1234567890a',decode('类别','香港',-11,'大陆',-9)) FROM dual; 你肯定有个字段标志是香港还是内地的吧你可以用decode判断那个字段.然后取9位或者11位.写法可以参照9楼. 怎么把RAW(6)数据类型转成10进制的数字? windows中的大批量数据建表问题 求助~~~~~ oracle自带的脚本调优SQL文件是什么呀??? error while trying to retrieve text for error ORA-12154 10G emctl 起动失败 SQL语句优化—使用DECODE函数时可否不遍历整个数据表? 请教高手!在线等待……………… 将oracle数据库中的表结构导出到SQL文件的问题(100分) 初学者的菜问题 用PRO*C程序开发程序时,需要连接不同的数据库? 联合查询的问题 请教
SQL> select substr('bcdefghijklmnop',length('bcdefghijklmnop')-10,11) from dual;SUBSTR('BCDEFGHIJKLMNOP',LENGT
------------------------------
fghijklmnop
还可以这么用:
SELECT substr('asx1234567890a',-11) FROM dual;
根据具体情况用decode应该可以解决
如SELECT substr('asx1234567890a',decode('类别','香港',-11,'大陆',-9)) FROM dual;
你可以用decode判断那个字段.然后取9位
或者11位.写法可以参照9楼.