• oracle 函数


    运算符:  
        算数运算符:      + - * /  
        连接运算符       ||      e.g select 'a'||'b'||'c' from dual;  
        比较运算符       >, =, >=, <, <=, !=, like, between and, is null, in   
        任何值与null进行运算  都为null  
          
          
    ascii('a');                   根据字符  返回编码值  
      
    chr(编码值);               根据编码值  返回字符  
      
    concat(字段名1,字段名2)    连接两个字符串   
      
    initcap(字段名)            返回字符串并将字符串的第一个字母变大写   
          
    length(字段名)             返回字段值的长度  
      
    lower(字段名)              返回字符串的全部小写  
      
    upper(字段名)              返回字段值全部大写  
      
    ltrim(字段名)              清除字段值左边的空字符串      
          
    rtrim(字段名)              清除字段值右边的空字符串      
      
    substr(原字符串,从第几个字符开始(含该字符),截取多少个);  
    select substr ('abcdefg',1,3) from dual;    //abc  
      
    replace(原字符串,被替换的字符串,目标字符串);  
    select substr ('He love rose','He','I') from dual;  
      
    trim('要去掉的字符(非字符串)' from '目标字符串');  去掉首尾所有匹配的字符,中间的不去  
    select trim('s' from 'strsings') from dual;     //trsing  
    select trim(leading 's' from 'strsings') from dual;     //trsings  
    select trim(trailing 's' from 'strsings') from dual;        //strsing  
      
    abs(数字字段名)  返回数字绝对值  
    select abs(123) abs1, abs(-1234) abs2 from dual;  
      
    floor(字段名)  将小数位直接干掉,不做任何处理  
    select floor(1234.923) from dual; //1234  
      
    ceil(字段名)   将小数位干掉后+1,没有小数位就不+1  
    select ceil(1234.123) from dual; //1235  
    select ceil(1234) from dual;    //1234  
      
    mod(被除数,除数) 取余  
    select mod(10,3) m1, mod(3,3) m2, mod(1,3) m3 from dual;  
      
    power(原数字,幂)  
    select power(2,3) from dual;  
      
    round(字段名) 对小数四舍五入成整数  
      
    trunc(字段名)  将小数位直接干掉,不做任何处理  
    select trunc(55.9) from dual;   //55  
      
    avg(字段名)   
    select avg(age) from tt;  
      
    count(字段名)/count(*);   获取记录数   若使用字段名,该字段一定不能有NULL值  
    select count(*) from tt;  
      
    sum(字段名)        求和  
      
    min(字段名)        最小值  
      
    max(字段名)        最大值  
      
    to_number('1234')   字符串转成数字  
    select to_number('1234') from dual;  
      
      
      
    日期常用函数  
    last_day(date)返回日期date所在月的最后一天  
    select last_day(sysdate) from dual ;  
    add_months(date,i)返回日期date加上i个月后的日期值  
        i取正值整数    小数:截取整数后再运算     负数:减去i个月的日期值  
          
    months_between(date , date_) 返回两个日期间隔多少个月    结果可能是负数和小数(可以用ceil函数直接进位)  
      
    next_day(date , 周几) 返回date日期数据的下一个周几的日期 ,例如 4  即下一个周四的日期 
     
        Sunday (周日)Monday(周一)Tuesday(周二)Wednesday(周三)Thursday(周四)Friday (周五)Saturday(周六)  
        January一月; February二月; March三月; April 四月; May 五月;June 六月;July七月;August 八月;September 九月;October 十月;November 十一月;December 十二月  
      
      
      
    比较函数: 参数类型必须一致 第二个参数类型会被转向第一参数类型  不能转换就报错  
    least(1,3,55,100,2,24)  //获取最小值  
    greatest(1,88,2,33,55)  //获取最大值  
      
      
    extract(year/month/day from date) 从参数date中提取指定的数据类型,例如提取年、月、日  
    例如:select extract(year from sysdate) from dual ;    
      
      
    null和任何值进行运算,返回的都是null  
    select * from tablename where column1 = null ;  //对于null 不能这样进行比较  
    正确方法:  
    select * from tablename where column1 is null ;  
    select * from tablename where column1 is not null ;  
      
      
    空值函数  
    nvl(col_null , col_not_null) 将null值转变成非null值处理  请保持两个参数的类型一致  
    例如:select sal , comm , sal + nvl(comm , 0 ) as salary from emp ;  
      
      
    nvl2(col_null , col_is_null , col_is_not_null) 将null值转变成实际值  作用有点像三目表达式    
    如果是null  转成col_is_null ,如果不是null,转成col_is_not_null  
    select sal , comm , sal+nvl2( comm , 0 , 1000 ) as salary from emp ;
     
  • 相关阅读:
    springmvc与ajax交互
    [PAT] A1052 Linked List Sorting
    [PAT] A1032 Sharing
    [PAT] A1076 Forwards on Weibo
    [PAT] A1034 Head of a Gang
    [PAT] A1030 Travel Plan
    [PAT] A1031 Hello World for U
    [PAT] A1029 Median
    [PAT] A1028 List Sorting
    [PAT] A1026 Table Tennis
  • 原文地址:https://www.cnblogs.com/myjavalife/p/4893019.html
Copyright © 2020-2023  润新知