一、字符串拼接(|| ||,CONCAT)
Oracle:
SELECT A.name || ' 的角色是' || A.roleName as aaa FROM A WHERE A.id= '111'
输出结果:XXXX的角色是XXXX
Mysql:
SELECT (select concat(A.name ,'的角色是',A.roleName)) AS aaa FROM A WHERE A.id= '111'
输出结果:XXXX的角色是XXXX
二、字符串截取
Oracle:substr(列名,位置n) as 字段
长度为正数时,表示从左数n到右(从 N 以后)
长度为负数时,表示从右数n到左 (从 N 以后)
substr(列名,位置,长度) as 字段
从此位置n数长度为x
mysql:substring(列名,位置) as 字段
长度为正数时,表示从左数n到右(从 N 以后)
长度为负数时,表示从右数n到左 (从 N 以后)
substring(列名,位置n,长度x)
从此位置n数长度为x
三、获取某个字符串在字符串的位置
Oracle:instr ,没有找到返回0
instr 还可以用来代替like使用
eg: select * from A where instr (A.name,"aaa") > 0
select * from A where name like "%aaa%"
注:
instr(title,'oracle’)>0 相当于like
instr(title,'oracle’)=0 相当于not like
Mysql: locate(string,string2) (不区分大小写)
返回子串string在字符串string2第一个出现的位置,如果string不是在string2 里面,返回0.如果string2 是null ,返回null
substring_index(str,delim,count)
str:要处理的字符串
delim:分隔符
count:计数
如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容
如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容