Sql中的left函数、right函数
DB2中left()函数和right()函数对应oracle中的substr()函数 DB2 LEFT、RIGHT函数
语法:LEFT(ARG,LENGTH)、RIGHT(ARG,LENGTH)
LEFT、RIGHT函数返回ARG最左边、右边的LENGTH个字符串,ARG可以是CHAR或BINARY STRING。
eg:
SELECT LEFT(NAME,2),RIGHT(NAME,2) FROM T1
ORACLE substr()函数
substr(字符串,截取开始位置,截取长度) //返回截取的字
substr('Hello World',0,1) //返回结果为 'H'  *从字符串第⼀个字符开始截取长度为1的字符串
substr('Hello World',1,1) //返回结果为 'H'  *0和1都是表⽰截取的开始位置为第⼀个字符
substr('Hello World',2,4) //返回结果为 'ello'
substr('Hello World',-3,3)//返回结果为 'rld' *负数(-i)表⽰截取的开始位置为字符串右端向左数第i个字符
Oracle数据库中是没有left() 和right() 函数的,若想按照DB2中对应的函数去使⽤,⾃⼰新建两个function即可,⽅法如下LEFT
CREATE OR REPLACE FUNCTION "LEFT" (str in varchar2,sublen in integer) return varchar2 is
strlen integer;
begin
strlen := length(str);
if sublen<=0 then
return '';
elsif strlen<=sublen then
return str;
else
return SUBSTR(str,0,sublen);
end if;
return '';
end LEFT;
RIGHT
CREATE OR REPLACE FUNCTION "RIGHT" (str in varchar2,sublen in integer) return varchar2 is
strlen integer;
begin
strlen := length(str);
if sublen<=0 then
return'';
elsif strlen<=sublen then字符串截取 sql
return str;
else
return SUBSTR(str,strlen-sublen+1,sublen);
end if;
return'';
end RIGHT;
使⽤
select left('abcdefg',3) from dual  ;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。