• oracle中查询sql所用函数


    一、数值函数

    • 四舍五入函数:

              round 例:round(23.4) 23 round(23.45,1) 23.5 round(23.45,-1) 20

    • 取整函数 ceil 取最大值 floor 取最小值

             例: ceil(23.45) 24 floor(23.45) 23

    • ABS(n) 绝对值函数

    • MOD(m,n) 取余函数

               mod(5,2) 1 mod(5,null) null

    • POWER(m,n) 幂函数

               power(2,3) 8

    • SQRT(n) 平方根

              sqrt(16) 4

    • 三角函数

             具体百度

    二、字符函数

    • 大小写转换函数 upper(char) 转换成大写 lower(char) 转换成小写 initcap(char)首字母大写函数

              实例:用户名登录时转换

    • 获取子字符串函数 substr(char,m,n) m为开始截取位置 n截取长度,无n值表示截取到最后,负数表示从后往前截取

              实例 substr('abcde',2,3) bcd

    • 获取字符串长度函数 length(n) length('acd') 3

    • 字符串连接函数concat(char1,char2) 与 || 功能一样。

    • 去除一个字符函数 trim(c2 from c1) c2只能是一个字符

    • 左去除ltrim(c2,c1) 只去除一个字符

    • 右去除rtrim(c2,c1) 只去除一个字符

    • trim(c1) 去除首尾空格

    三、替换函数

               replace(char,a,b) 将char中a替换为b,如果没有b参数,用空格代替。

    四、日期函数

    • 系统函数 SYSDATE 默认格式 DD-MON-RR 日月年

              select sysdate from dual;

    • add_months(m,n) 月份相加减

              select add_months(sysdate,3) from dual;

    • next_day(m,n);下一天

              select next_day(sysdate,'星期四') from dual

    • last_day()

    • month_between(date1,date2)

    • extract(date from datetime) 获取datetime中的年月日

              select extract(month from sysdate) from dual; 日期中的月
              select extract(day from sysdate) from dual; 日期中的天
              select extract(year from sysdate) from dual; 日期中的年
              select extract(hour from timestamp '2018-3-8 15:00:41') from dual; 时
              select extract(second from timestamp '2018-3-8 15:00:41') from dual; 秒
              select extract(minute from timestamp '2018-3-8 15:00:41') from dual; 分

    五、转换函数

    • 日期转换成字符的函数 to_char(date,params)

              select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

    • 字符转换成日期的函数to_date()

    • 数字转换成字符的函数to_char(number,数字格式)

             9:显示数字并忽略前面的0, 0:显示数字,位数不足,用0补齐 .或D:显示小数点
             ,或G:显示千位符 $:美元符号 S:加正负号(前后都可以)

    • 字符转换成数字的函数to_number(char,数字格式)

             select to_number('$1000','$9999') from dual;//1000

  • 相关阅读:
    【贪心】POJ1017:Packets
    【贪心】POJ2393:Yogurt factory
    【贪心】POJ3190:Stall Reservations
    【递归】地盘划分
    【递归与递推】青蛙过河
    【搜索】POJ1242:Rescue
    单词方阵(dfs)
    反向因子Inverse Factorial
    P1604 B进制星球
    抵制克苏恩(记忆化搜索)
  • 原文地址:https://www.cnblogs.com/xiaotang5051729/p/8529566.html
Copyright © 2020-2023  润新知