1、Oracle中substr和instr用法
--substr(字符串,截取开始位置,截取长度)=返回截取的字 select substr('miaoying',0,1) from dual;--返回结果为:m select substr('miaoying',1,1) from dual;--返回结果为:m--说明0和1都表示截取的位置为第一个字符 select substr('miaoying',-7,4) from dual;--返回结果为:iaoy--负数表示:-7表示从右边开始数第七位开始,也就是i,截取长度为4的字符串 --instr(源字符串,目标字符串,起始字符串,匹配字符串)=返回要截取的字符串在源字符串中的位置,从字符的开始,只检索一次 --instr(string1,string2,index1,index2) 表示:要在string1的index1号位置,开始查找,第index2次,出现的string2 select instr('miaoying','i',2,2) from dual;--返回6:也就是说:在"miaoying"的第2号位置开始,查找第二次出现的i的位置 select instr('miaoying','k',2,2)from dual;--返回0:即如果查找不到,则返回0 select instr('miaoying','i') from dual;--返回2 select instr('miaoying','yi') from dual;--返回5:即"yi"的y的位置 select instr('miaoying','i',-1,2) from dual;--返回2:
2、start with ... connect by ...关键字的使用
比如一张表记录了ID 和 父级ID(PID) 那么查询语句
select * from XXX where ... ...[条件1] start with ID = 1[条件2] connect by prori ID = PID [条件3]
可以查询出ID为1及其所有子级的数据
解析: 条件1 可有可无,但他是基于条件2和3得出的结果后再执行条件1过滤的
条件2 限定作为搜索起始点
条件3 指定树的结构
3、oracle列操作
新增一列:
alter table 表名 add 列名 列属性;
删除一列:
alter table 表名 adrop 列名 ;
修改列名 :
ALTER TABLE 表名 RENAME COLUMN 旧列名TO 新列名;
4、mybatis的 <![CDATA[ ]]>
遇到特殊符号例如 大于号> 这些需要放在<![CDATA[ ]]>中,以免出错