美文网首页
Oracle常见函数(一)

Oracle常见函数(一)

作者: 孤意的学习笔记 | 来源:发表于2017-11-02 10:51 被阅读0次

    1、Oracle函数

    1.1、常用的单行函数

    运算符 说明
    mod(y,x) 返回y除以x的余数,如果x为0则返回y
    round(x,[,y]) 四舍五入,y省略,四舍五入到整数位;y为负,责到小数点前y位,y为正,则到小数点后y为
    trunc(x,[,y]) 截取数字,如y省略,则截去x的小数部分;y为负,截取小数点前y位;为正,截取小数点后y为

    1.2、日期

    Oracle中,时间和日期是一起存储的,其数据类型是date或者timestamp。

    • date可以存储年、月、日、时、分、秒
    • timestamp除了以上还可以存储带小数的秒、时区

    Oracle中,以7位数字格式来存放日期时间,其整数部分从公元前4712年1月1日开始。
    默认的日期格式:dd-MM-yyyy(01-5月-2013)

    1.2.1、日期函数

    Oracle提供了4种的日期、字转换函数。常用的为以下两种:

    • to_char():把日期或数字转换为字符串
    select ename, to_char(hiredate,'YYYY-MM-DD') from scott.emp;
    
    ENAME TO_CHAR(HIREDATE.'YYYY-MM-DD')
    SMITH 1980-11-01
    ALLEN 1981-02-20
    ... ...
    • to_date():把字符串转换为日期类型
    select to_date('2006-05-01','YYYY-MM-DD') from dual;
    
    TO_DATE('2006-05-01'.'YYYY-MM-DD')
    2006/5/1

    1.2.2、日期函数

    • add_months()
    select sysdate, add_months(sysdate,3), add_months(sysdate,-2) from dual;
    
    SYSDATE ADD_MONTHS(SYSDATE,3) ADD_MONTHS(SYSDATE,-2)
    2017/11/2 星期四 9:35:24 2018/2/2 星期五 9:35:24 2017/9/2 星期六 9:35:24
    • last_day()
    select sysdate, last_day(sysdate), last_day(sysdate)+1 from dual;
    
    SYSDATE LAST_DAY(SYSDATE) LAST_DAY(SYSDATE,)+1
    2017/11/2 星期四 9:41:16 2017/11/30 星期四 9:41:16 2017/12/1 星期五 9:41:16
    • months_between()
    select 
    months_between('17-9月-2013', '17-9月-2013') as 第一个结果, 
    months_between('17-10月-2013', '17-8月-2013') as 第二个结果, 
    months_between('17-8月-2013', '17-10月-2013') as 第三个结果
    from dual;
    
    第一个结果 第二个结果 第三个结果
    0 2 -2
    • next_day
    select
    next_day(sysdate, '星期一') as 第一个结果,
    next_day('18-9月-2013', '星期六') as 第二个结果
    from dual;
    
    第一个结果 第二个结果
    2017/11/6 2013/9/21

    1.2.2、字符函数函数

    • chr()
    select chr(65), chr(97) from dual;
    
    CHR(65) CHR(97)
    A a
    • concat()
    select concat('hello', ' world') from dual;
    
    CONCAT('HELLO', ' WORLD')
    hello world
    • initcap()
    select initcap('HELLO, world') from dual;
    
    INITCAP('HELLO, WORLD')
    Hello, World
    • length()
    select length('HELLLO, world') from dual;
    
    LENGTH('HELLO, WORLD')
    13
    • lower()
    select lower('HELLO, world') from dual;
    
    LOWER('HELLO, WORLD')
    hello, world
    • upper()
    select upper('HELLO, world') from dual;
    
    UPPER('HELLO, WORLD')
    HELLO, WORLD
    • ltrim():ltrim(x,y)函数是按照y中的字符一个一个截掉x中的字符,并且是从左边开始执行的,只要遇到y中有的字符,x中的字符都会被截掉,知道在x的字符中遇到y中没有的字符为止函数命令才结束
    select ltrim('109224323','109') from dual;
    
    LTRIM('109224323','109')
    224323
    select ltrim('1090009224323','109') from dual;
    
    LTRIM('1090009224323','109')
    224323

    相关文章

      网友评论

          本文标题:Oracle常见函数(一)

          本文链接:https://www.haomeiwen.com/subject/oqtopxtx.html