TA的每日心情 | 开心 2021-12-13 21:45 |
---|
签到天数: 15 天 [LV.4]偶尔看看III
|
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
- return str;
- else
- return SUBSTR(str,strlen-sublen+1,sublen);
- end if;
- return "";
- end RIGHT;
复制代码
使用
- select left("abcdefg",3) from dual ;
复制代码
|
|