zoukankan      html  css  js  c++  java
  • oracle函数应用

    ----Oracle中的函数
    
    oracle中函数的分类:
    
    --第一种:日期函数
    --第二种: 字符函数
    --第三种: 数学函数
    --第四种: 转换函数
    --第五种: 分析函数
    
    -----------------------------------------------------------------------------------
    *********  dual: 虚表, 该表并不存在.它存在的目的是为了保证语句的语法正确
    ---在使用函数时,如果不确定数据来自至于哪一张表,就可以查询虚表,保证语法正确
    
    ************************************
    常用日期函数:
    sysdate   --获得系统时间
    add_months(); --在当前时间上加上几个月,形成一个新的时间
    months_between(); --计算两个时间之间,间隔了几个月
    last_day()  --得到这个月的最后一天的日期
    next_day(); ---得到下一个星期几是哪一个日期
    extract() --得到日期中指定部份的值
    ************************************
    sysdate   --获得当前系统时间的函数
    
    select sysdate from dual;
    ************************************
    add_months() --在指定日期上加上指定月份形成一个新的日期
    
    select add_months(sysdate,-10) from dual; --减去10个月
    select add_months(date'2011-4-2',3) 日期 from dual;
    select '2015-4-1' 入学日期,add_months(date'2015-4-1',6) 就业时间 from dual;
    
    select name,bir 原有时间,add_months(bir,5) 新日期 from info2;
    
    ***************************************
    months_between()  --计算两个日期之间,相差的月份
    
    floor(浮点数);--得到一个小于当前浮点数的最大的整数         floor(12.34).
    
    select months_between(date'2015-10-20',date'2015-5-20') from dual;
    select months_between(sysdate,date'2015-1-1') 相差的月份 from dual;
    select floor(months_between(sysdate,date'1979-9-12')/12) 年龄 from dual;
    select name,bir,floor(months_between(sysdate,bir)/12)||'' 年龄 from info2;
    
    select name,bir,floor(months_between(sysdate,bir)/12)||'' 年龄 from info2 order by 年龄 asc;
    
    select name,bir,floor(months_between(sysdate,bir)/12)||'' 年龄 from info2 order by bir desc;
    
    ********************************************
    last_day() --获得指定日期中的这一个月的最后一天的日期
    
    select last_day(sysdate) from dual;
    select last_day(date'2011-12-1') from dual;
    
    **********************************************
    next_day()  --获得下一个星期几,是哪一个日期    `1  星期天   2 星期一.......7 星期六
    
    select next_day(sysdate,2) from dual;
    select next_day(date'2015-1-2',6) from dual;
    
    *********************************************
    extract()    ---获得一个日期,指定部份的值
    
    select extract(year from sysdate)||'' 年份 from dual;--查询日期中的年份
    select extract(month from sysdate) 月份 from dual;--查询日期中的月份
    select extract(day from sysdate) 日期 from dual;--查询日期中的日期
    select extract(month from date'2011-12-1') 月份 from dual;--查询日期中的月份
    
    ********************************************************************************************************
    sysdate
    add_months
    month_between
    last_day
    next_day
    extract
    -------------------------------------------------------------------------------------------------------------------------
    字符函数
    
    length()--计算长度
    upper() ---将字母变为大写
    lower() ---将字母变为小写
    ltrim() ----去掉字符左侧的空格
    rtrim() ----去掉字符右侧的空格
    trim()-----去掉两端的空格
    lpad() ----从左向右填充字符
    rpad() ----从右向左填充字符
    substr() ---截取字符串
    replace() --替换
    
    *************************
    --length() 
    select length('abcd') from dual;
    select name,length(name) from info2;
    *************************
    --ltrim()
    --rtrim()
    --trim()
    select '                            abc' from dual;
    select ltrim( '                            abc') from dual;
    
    ************************
    --upper()
    --lower();
    select upper('abA汉字12') from dual;
    select lower('abA汉字12') from dual;
    
    ***********************
    --lpad()  从左向右填充字符
    --rpad() 从右向左填充字符
    
    select lpad('hello Christina',10,'*') from dual; --字符串,只显示10个字符,如果不够10个从左向右填充*
    select rpad('abc',10,'*') from dual;
    **********************
    --substr(字符串,第几个字符,取几个长度) --截取字符串
    select substr('你好张三丰,我是李四',3,3) from dual;
    
    ***********************
    replace(字符串,指定字符,新内容) --把字符串中的指定字符,用新的内容替换
    
    select replace('大家好我是张三','张三','李四') from dual;
  • 相关阅读:
    Selct 大全
    Web API
    其他
    ADO.NET Entity Framework
    ORACLE SQL前端补0的三种方式。
    linux常用命令
    oracle 创建修改 job
    oracle 如何恢复误删的表记录数据
    myeclipse上SVN代码合并详细步骤图解
    SVN创建资源与分支详解
  • 原文地址:https://www.cnblogs.com/gavenQin/p/5629044.html
Copyright © 2011-2022 走看看