[Oracle Function]使用常用的Oracle Function

本人的Blog更新:http://www.iwllsea.com/default.asp?cateID=9,涉及更多Netadvantage文章,希望对大家有所帮助。

本篇主要介绍Oracle自带的一些常用的Function,以及部门公用的Function,以便在从数据库里获取数据时获取所需的数据(格式及值),而不必在获取后对数据进行处理。


2、 Oracle 常用函数
2.1、String类: ASCII CHR UPPER LOWER INITCAP LTRIM RTRIM TRIM LPAD RPAD REPLACE
             CONTACT SUBSTR || INSTR LENGTH
        ASCII(c1):c1是一字符串,返回与字符串第一个字符对应的十进制数(字符的ASCII码);他的逆函数是CHR()。
CHR(i):i是一个数字,给出整数,返回对应的字符;它的逆函数是ASCII()。
例子:
/* Formatted on 2007/05/09 10:33 (Formatter Plus v4.8.6) */
SELECT ASCII ( ' ' ), CHR ( 54740 ),
       ASCII ( 'zhao' ), ASCII ( 'z' ), CHR ( 122 )
  FROM DUAL
       
        UPPER(string):string是字符串,返回字符串对应的大写字符串
LOWER(string):string是字符串,返回字符串对应的大写字符串
INITCAP(c1): c1为字符串,函数将每个单词的第一个字母大写其它字母小写返回。单词由空格,控制字符,标点符号分隔。
例子:
/* Formatted on 2007/05/09 10:40 (Formatter Plus v4.8.6) */
SELECT UPPER ( 'sd' ), LOWER ( 'QSD' ), INITCAP ( 'QASdfd' ), UPPER ( 'Sd' ),
       LOWER ( 'qSd' ), INITCAP ( 'sfdfSDD' )
  FROM DUAL
 
                    
       LTRIM(c1,c2): c1,c2均为字符串,返回删除c1左边出现的字符串c2后的字符串
TRIM(c1,c2): c1,c2均为字符串,返回删除c1右边出现的字符串c2后的字符串
TRIM(c1):c1为字符串,返回去掉才左右两边的空格后的字符串
LPAD(c1,i,[c2]):c1,c2均为字符串,i为整数。在c1的左侧用c2字符串补足致长度i,可多次重复,如果i小于c1的长度,那么只返回i那么长的c1字符,其他的将被截去。c2的缺省值为单空格。
RPAD(c1,i,[c2]) c1,c2均为字符串,i为整数。在c1的右侧用c2字符串补足致长度i,可多次重复,如果i小于c1的长度,那么只返回i那么长的c1字符,其他的将被截去。c2的缺省值为单空格。
例子:
SELECT LTRIM ( 'ASDF' , 'A' ) LT , RTRIM ( 'ASDF' , 'F' ) RT ,
       LTRIM ( 'ASDF' , 'F' ) LNT , RTRIM ( 'ASDF' , 'A' ) RNT ,
       TRIM ( 'ASDF' ) TN , TRIM ( ' ASDF' ) TL , TRIM ( ' ASDF ' ) TA ,
       LPAD ( 'ASDF' , 7 , 'F' ) LP , RPAD ( 'ASDF' , 7 , 'F' ) RP ,
       LPAD ( 'ASDF' , 3 , 'F' ) LNP , RPAD ( 'ASDF' , 3 , 'F' ) RNP ,
       LPAD ( 'ASDF' , 7 ) LP , RPAD ( 'ASDF' , 7 ) RP
  FROM DUAL
 
                    
                     SUBSTR(string,start,count):start,count均为整数。取子字符串,返回从start开始,取count个字符组成的字符                      串。
                     REPLACE('string','s1','s2'):string   希望被替换的字符或变量,s1 被替换的字符串,s2 要替换的字符串,返回用s2替换出现在string中的s1后的字符串。
CONCAT(c1,c2):c1,c2均为字符串,连接两个字符串;函数将c2连接到c1的后面,如果c1为null,将返回c2.如果c2为null,则返回c1,如果c1、c2都为null,则返回null。他和操作符||返回的结果相同。
||:表示连接,同contact(c1,c2)函数
              例子:
  SELECT SUBSTR ( 'ASDF' , 2 , 2 ) SN , SUBSTR ( 'ASDF' , 2 , 4 ) SRN , SUBSTR ( 'ASDF' ,- 1 , 2 ) SLN ,
       REPLACE ( 'ASSDF' , 'S' , 'A' ) RN , REPLACE ( 'ASSDF' , 'E' , 'A' ) RNN ,
       CONCAT ( 'ABC' , 'DEF' ) CN , 'ABC' || 'DEF' CN
  FROM DUAL
 
           
              
           
         
         
               LENGTH(c1):c1为字符串,返回字符串的长度;如果c1为null,那么将返回null值。
               INSTR(C1,C2,I,J):在一个字符串中搜索指定的字符,返回指定的字符的位置;C1 :被搜索的字符串,C2 :希望搜索的字符串,I :搜索的开始位置,默认为1,J :出现的次数,默认为1;当没有发现需要的字符时返回0,如果I为负数,那么搜索将从右到左进行,但是位置的计算还是从左到右。
             例子:           
SELECT LENGTH ( 'ASDF' ), LENGTH ( NULL ),
       INSTR ( 'ASDF' , 'S' , 1 , 2 ), INSTR ( 'ASDF' , 'S' , 1 , 1 ), INSTR ( 'ASDF' , 'S' ,- 1 , 2 )
  FROM DUAL
 
               
 
2.3、Date类: SYSDATE sysdate_ LAST_DAY ADD_MONTHS to_date
 SYSDATE 返回当前日期时间
 sysdate_ 返回当前日期
 LAST_DAY(date) 返回给定日期的最后一天
 ADD_MONTHS(date,n) 返回对给定日期增加或减少给定的月数的日期
例子:
/* Formatted on 2007/05/17 15:33 (Formatter Plus v4.8.6) */
SELECT SYSDATE , sysdate_ , LAST_DAY ( SYSDATE ),
       ADD_MONTHS ( LAST_DAY ( SYSDATE ), 4 )
  FROM DUAL
/
 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值