dengwen3 发表于 2018-9-11 12:01:19

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,)字符串替换函数:
  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,)函数:返回参数列表中的最大值,可用于 数字、字符串和日期比较
  least(expr,)函数:返回参数列表中的最小值,可用于 数字、字符串和日期比较,与greatest()相反
  

页: [1]
查看完整版本: Oracle函数-高阶篇