拼接字符串
1.oracle 字符串拼接:||
select '1' || '2' from dual;
2.MySQL 字符串拼接:concat(a,b)
select concat('1','2') from dual;
截取字符串
1.MySQL
函数:SUBSTRING或者SUBSTR
1.1语法
位置
SUBSTRING(string,position);SUBSTRING(string FROM position);
位置和长度
SUBSTRING(string,position,length);SUBSTRING(string FROM position FOR length);
1.2下标
1.3 示例详情
位置
position>0,从position(包含)开始
SELECT SUBSTRING('Hello World',1);SELECT SUBSTRING('Hello World' FROM 7);
Hello WorldWorld
position=0返回空
SELECT SUBSTRING('Hello World',0);
position<0,与position为正时是一样的,下面的sql的效果是相同的
SELECT SUBSTRING('Hello World',-11);SELECT SUBSTRING('Hello World' FROM -5);
当position的绝对值>LENGTH(string)时,返回空,和position=0时一样
SELECT SUBSTRING('Hello World',12);SELECT SUBSTRING('Hello World',-12);
位置和长度
position的用法和上面讲的是一样的,下面仅总结length length>0时返回length个字符数,当length>string的可截取的长度时,只返回可截取的长度
SELECT SUBSTRING('Hello World',1,5);SELECT SUBSTRING('Hello World',6,20);
HelloWorld
length<=0时返回空
SELECT SUBSTRING('Hello World',1,0);SELECT SUBSTRING('Hello World',1,-20);
类似于下面的效果
SELECT SUBSTRING('Hello World',6,20);SELECT SUBSTRING('Hello World' FROM 6 FOR 20);
通过LENGTH查看字符串的长度验证(当length>string的可截取的长度时)
SELECT LENGTH(SUBSTRING('Hello World' FROM 6 FOR 20));
结果为6
2.Oracle
函数:SUBSTR
和MySQL区别是没有SUBSTRING
2.1语法
位置
SUBSTR(string,position);SUBSTR(string FROM position);
位置和长度
SUBSTR(string,position,length);SUBSTR(string FROM position FOR length);
2.2下标
位置
与MySQL一样,position>0和position<0时是一样的效果,参照上面的下标对应即可,不同的是,position=0和position=1的效果是一样的。 下面三个sql效果一样
SELECT SUBSTR('Hello World',0) FROM DUAL;SELECT SUBSTR('Hello World',1) FROM DUAL;SELECT SUBSTR('Hello World',-11) FROM DUAL;
Hello World
当position的绝对值>LENGTH(string)时,返回[NULL]
SELECT SUBSTR('Hello World',12) FROM DUALSELECT SUBSTR('Hello World',-12) FROM DUAL;
[NULL]
位置和长度
position的用法和上面讲的是一样的,下面仅总结length length>0时返回length个字符数,当length>string的可截取的长度时,只返回可截取的长度,这点和MySQL相同
SELECT SUBSTR('Hello World',1,5) FROM DUAL;SELECT SUBSTR('Hello World',6,20) FROM DUAL;
HelloWorld
length<=0时返回[NULL],这点和MySQL不同
SELECT SUBSTR('Hello World',1,0) FROM DUAL;SELECT SUBSTR('Hello World',6,-20) FROM DUAL;
[NULL]
总结
1、 MySQL函数为SUBSTRING 或 SUBSTR,Oracle只有SUBSTR2、 position=0时MySQL返回空,而Oracle和position=1时一样3、 当position的绝对值>LENGTH(string)时和length<=0时,MySQL返回空,而Oracle返回[NULL]郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。