Oracle函数-高阶篇
下面整理了部分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()相反
<------------------------持续更新--------------------------->
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341