Oralce函数

  • Oralce中将空字符一律视为null。
一、字符串处理
  • chr()函数——将 ASCII 码转换为字符
Chr() 函数表示返回指定 ASCII 码的字符,作用和 ASCII() 相反。
SQL> select chr(66) result from dual; 
R                                     
-                                     
B                                     
ASCII()函数表示返回指定字符的ASCII码,作用和 CHR() 相反。
SELECT ASCII('a') from dual; 结果为65
  • to_char()函数——格式化数值
    to_char(原数值,格式)
    常见格式字符:0、9、,、FM、$、L
TO_CHAR(SY                                                          
----------                                                          
2019072500                                                                                                                  
SQL> select to_char(sysdate,'YYYYMMDD')||lpad('00',3,'1') from dual;                                                                
TO_CHAR(SYS                                                         
-----------                                                         
20190725100                                                         
 SQL> select to_char(sysdate,'YYYYMMDD')||rpad('00',3,'1') from dual;
TO_CHAR(SYS
-----------
20190705001
  • 填充函数

  • lpad(String,‘padded_length,【pad_String]’)
    第一个参数指定原始字符串,第二个字符串指定填充后的字符串长度,第三个字符串指定不足位数上将要填充的字符串(此原始字符串左边自左向右填充)
    :左边对字符串使用指定的字符进行填充

  • rpad:右边对字符串使用指定的字符进行填充

lap实例:
SQL> select lpad('luck',7,'you') from dual; 
                                            
LPAD('L                                     
-------                                     
youluck                                     
SQL> select to_char(sysdate,'YYYYMMDD')||lpad('00',2,'1') from dual;
  • low() 函数——返回字符串的小写形式
SQL> select lower('ABC') from dual;                      
LOW                                
---                                
abc 
  • upper()函数——返回字符串的大写形式
SQL> select upper('abc') from dual;
                                   
UPP                                
---     
ABC
  • initcap()函数——单词首字符大写 (we-all) w和a都大写 非单词作为分隔符看做两个单词
  • length()函数——返回字符串长度
  • substr() 函数——截取字符串
    substr(String, start_index, length)
    第一个参数String指定原始字符串,第二个参数start_index指定开始截取的位置;第三个参数指定截取的长度。Oracle中字符串中第一个字符的位置为1,不同Java为0.
SQL> select substr('asdqwq',2,2) from dual; 
                                            
SU                                          
--                                          
sd                                              
  • instr()函数——获得字符串出现的位置
    instr(String, sub_string, start_index, times)
    String为父字符串; sub_string为子字符串;start_index为指定搜寻的起始位置(可选参数);time为第几次获得子字符串(可选参数)。
SQL> select instr('abcdef','bc') from dual;        
                                                   
INSTR('ABCDEF','BC')                               
--------------------                               
                   2                               
                                                                                    
SQL> select instr('abcbcdef','bc',3) from dual;    
                                                   
INSTR('ABCBCDEF','BC',3)                           
------------------------                           
                       4                                                                     
SQL> select instr('abcbcdef','bc',3,1) from dual;  
                                                   
INSTR('ABCBCDEF','BC',3,1)                         
--------------------------                         
                         4                         
                                                   
SQL> select instr('abcbcdef','bc',3,2) from dual;  
                                                   
INSTR('ABCBCDEF','BC',3,2)                         
--------------------------                         
                         0             
  • ltrim()函数——删除字符串左侧空格
  • rtrim()函数——删除字符串右侧空格
  • trim()函数——删除字符串两侧空格
SQL> select ltrim('    000') from dual;
                                       
LTR                                    
---                                    
000                                    
  • concat()函数——串联字符串
SQL> select concat('hello', ' word') from dual; 
                                                
CONCAT('HE                                      
----------                                      
hello word                                      
  • translate()函数——翻译字符串
SQL> select translate('*=+','1=1+2*3','abcdefgh') from dual;  
                                                              
TRA                                                           
---                                                           
fbd     
方法:翻译第一个字符串'*=+',过程:在第二个字符串寻找“*”,下标为6,然后在第三个字符串
中寻找下标为6对应的字符为f做为结果的第一个字符 。                                                    
  • reverse()函数——反转字符串
SQL> select reverse('abcd') from dual;
                                      
REVE                                  
----                                  
dcba                                  
二、数值处理
  • abs()函数——返回数字的绝对值
  • round()函数——返回数字的四舍五入
    小数点位数可以为正、负、0
    0表示精确到整数
SQL> select round(3.141,2) from dual; 
                                      
ROUND(3.141,2)                        
--------------                        
          3.14 
  说明:精确到小数点后两位 
SQL> select round(155.5,-1) from dual;                             
ROUND(155.5,-1)                         
---------------                         
            160    
说明:小数位数为-1,精确到小数点之前的位数                                                      
  • ceil()——向上取整(取大)
SQL> select ceil(3.14) result from dual;  
               
    RESULT                                
----------                                
         4                                                             
SQL> select ceil(-3.14) result from dual; 
                                
    RESULT                                
----------                                
        -3                                                                                                    
  • floor()——向下取整(取小)与上相反
  • mod()——取模操作(求余)
SQL> select mod(5,3) result from dual;                                
    RESULT                             
----------                             
         2       
   说明:5/3  余2                
  • sign()——返回数字的正负性
    当参数大于0时,返回 1,小于0时返回 -1,等于0时返回 0
  • sqrt()——返回数字的平方根
  • power()——返回数字的乘方运算
SQL> select power(2,3) f from dual;
         F
----------
         8
  • trunc()——截取数字(与round相似,但不会四舍五入)
SQL> select trunc(314,-2) from dual;

TRUNC(314,-2)
-------------
          300
SQL> select trunc(3.14,1) from dual;
TRUNC(3.14,1)
-------------
          3.1
  • to_number和to_char之间可进行转换
SQL> select to_number('008') result from dual;                                      
    RESULT                                    
----------                                    
         8                                    
三、日期处理
  • sysdate()函数——返回当前日期
SQL> select sysdate from dual;
                              
SYSDATE                       
--------------                
26-7月 -19                     
  • add_months() 函数——为日期加上特定月份
SQL> select add_months(sysdate,1) time from dual;                                                   
TIME                                              
--------------                                    
26-8月 -19  
  • nvl(表达式,新值/表达式)——空值处理
SQL> select nvl('','love you') tetx from dual;                                               
TETX                                           
--------                                       
love you                                       
  • rownum()函数——结果集的行
SQL> select empno,ename,rownum from emp
  2  where rownum<=3                   
  3  order by ename;                                                  
     EMPNO ENAME          ROWNUM       
---------- ---------- ----------       
      7499 ALLEN               2       
      7369 SMITH               1       
      7521 WARD                3      
  • cast(原数据 as 新的数据类型)——强制转换数据类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值