关于截位函数 我要截取一个字符段的后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楼. Sqlserver数据库转成Oracle数据库? 怎样限制oracle中表的查询 如何拆分字符串 sql语句:快速检索表中数据的行数 如何查询数据库中是否存在一张表和数据库? sqlserver2000存储过程如何改为oracle存储过程? oracle中9i中文乱码的问题 简单又极具挑战的sql请教,如何合并两列字符串数据? 菜鸟求助:用什么工具可以方便的画数据库和应用系统之间的关系? 请问谁写过OCI的程序,哪里有OCI的资料下载?请帮助我! 联合查询的问题 请教
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楼.