下面整理了部分oracle函数-高阶篇:
1、 CATSTR
举例:SELECT CATSTR(COLUMN_NAME) NAME_LIST FROM DBA_TAB_COLUMNS WHERE TRIM(TABLE_NAME) = 'T_RZ_DKDATA' --查询出的结果在一个列中
2、 INSTR() 检索字符串函数:匹配则返回首次检索的位置的索引值(从1开始),值>0,否则返回值=0
举例:SELECT * FROM USER_TABLES WHERE INSTR(TABLE_NAME,'T_RZ_')>0 --查询表名中包含'T_RZ_'字符的表
举例:SELECT INSTR('abcdehfghjk','h') FROM dual; --返回h首次出现的索引位置,返回值=6
3、 replace(str,searth_str,[replace_str])字符串替换函数:
str:目标字符串;
searth_str:指定要查找的字符串
replace_str:用来替代查找匹配的字符串,无该参数时,查找到的searth_str都将被删除
例如: SQL> SELECT REPLACE('yaddsfsfsa','d') FROM dual;
REPLACE('YADDSFSFSA','D')
-------------------------
yasfsfsa
SQL> SELECT REPLACE('yaddsfsfsa','d') FROM dual;
REPLACE('YADDSFSFSA','D','1')
-------------------------
ya11sfsfsa
4、 CONCAT(str1,str2)字符串连接,类似于|| ,举例:SELECT CONCAT('str1','str2') FROM DUAL --得到结果:str1str2
5、 INITCAP(str)返回字符串:第一个字母大写 而其他字母小写。
6、 LPAD(string, padded_length, [ pad_string ]) --在字段或字符string左侧填充字符pad_string或空格,填充后的长度为padded_length
举例:SQL> SELECT LPAD('A',2,'B'),RPAD('A',2,'B') FROM dual;
LPAD('A',2,'B') RPAD('A',2,'B')
--------------- ---------------
BA AB
7、 reverse(str)字符串反转函数
举例:SELECT REVERSE('abcdefghjk') FROM dual; --结果为:kjhgfedcba
8、 translate(string,from_string,to_string)函数:是一种通过字符集转换来修改字符串的函数
string:目标字符串;
from_string:想要转换的字符集;
to_string:将替代from_string 的新字符集,目标字符串string中的每个from_string字符都被to_string字符中的对应字符替换,若from_string的字符在to_string中没有对应的字符,则在目标字符串中将该字符删除。
举例:
SQL> SELECT TRANSLATE('QWER.1233430004','0123456789.','abcdefghij') FROM dual;
TRANSLATE('QWER.1233430004','0
------------------------------
QWERbcddedaaae
9、 sign(number)函数:number为负数、0、正数时对应的返回值分别为-1,0,1,常和sum()一起使用
10、floor(value) 函数:返回小于等于value的最大整数,SELECT FLOOR(-9.612727) FROM dual; ---返回值为-10
11、greatest(expr,[expr,……])函数:返回参数列表中的最大值,可用于 数字、字符串和日期比较
least(expr,[expr,……])函数:返回参数列表中的最小值,可用于 数字、字符串和日期比较,与greatest()相反
<------------------------持续更新--------------------------->