• oracle 单行函数


    操作数据库:最快的是sql语句

    1.字符函数

    select lower('Hello World')  转小写 , upper('hello world ') 转大写,initcap('hello world') 首字母大写 from dual;

    2.字符控制函数

    substr(a,b) 从a中第b位开始取  select sub('123457890' ,2) 子串 from dual;

    substr(a,b,c) 从a中第b位开始取c位

    instr(a,b) 从a串中找b  找到返回位置  从1开始  select instr('Hello world' ,'ll')  位置 from dual;

    length 字符数  lengthb 字节数  select length("aaaaa") 字符数  from dual;

    lpad左填充  rpad 右填充   select lpad('abc',10,'*')  左填充,rpad('abc','10','_')  右填充  from dual;

    trim()   select trim('H' from 'Hello WorldH') from dual;

    replace()   select replace('hello world','l','*') from dual;

    3.数字函数

    round(45.761, 2)  45.76   round(45.761, -2)  0  四舍五入

    trunc(45.761, 2)  45.76    trunc(45.761, -1)  40  截断

    mod(1600,300)  100  求余

    4.日期

    mysql 中 有time 和datetime  oracle中只有date(包含日期和时间)

    查询当前时间   sysdate     select sysdate from dual; 默认格式是 DD-MON-RR

    格式化  to_char   select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

    5.日期的数学运算

      1)在日期上加上或减去一个数字(单位是天)结果仍为日期

         select sysdate-1 昨天,sysdate 今天,sysdate+1 明天 from dual;

      2)日期可以相减,不能相加 

        举例说明:计算员工的工龄:天 星期  月 年

        select ename 名字,hiredate 入职日期,sysdate-hiredate  天,months_between(systdate,hiredate)  月 from dual;

    6.日期函数

    months_between 两个日期相差的月份 

    add_months 向指定日期中加上若干月数

    last_day本月的最后一天 

    next_day 下一个星期日  select next_day(sysdate,'星期二') from dual;应用在每个星期一自动备份数据...分布式数据库 快照  触发器

    round()   round(sysdate,'MONTH')   round(sysdate,'year')

    trunc()

    7.转换函数

      1)数据类型的转换  

          a.隐士数据类型转换 

        

           b.显式数据转换

            

        to_char 函数  对日期的转换  to_char(date,'format_model')

          

          select to_char(sysdate,'yyyy-mm-dd hh24:mi;ss"今天是"day') from dual;

           to_char 函数 对数字的处理

               to_char(number,'format_model')

            

            查询员工薪水 (两位小数,千位符,本地货币代码)

            select to_char(sal,'L9,999.99') from emp;

      反过来就是to_number  to_date

    8.通用函数(适用于任意数据类型,同时也适用于空值)

      nvl(expr1,expr2)虑空

      nvl2(expr1,expr2,expr3)虑空

      nullif(expr1,expr2) 当expr1等于expr2的时候返回null,不等就返回expr1

      coalesce(expr1,expr2,expr3,...)  返回第一个不为空的值

    9.条件表达式

      需求:根据员工的职位涨工资,返回涨之前和涨之后的工资

      case 

          

       

      decode  oracle  自己的函数

       

       

  • 相关阅读:
    virturalbox安装CentOS桥接网卡
    解决:Error:java: 无效的源发行版: 12
    maven下载失败,镜像配置,idea的maven下载配置
    linux压缩和解压缩命令
    Unable to allocate 130176KB bitmaps for parallel garbage collection for the requested 4165632KB heap.
    Docker,Linux,Kubernetes,postgres常用的命令行(持续更新)
    dropwizard问题记录1:如何进行mvn package打包,如何在项目目录下运行
    线程的并发工具类
    学信网改绑手机号码,但是忘记了老号码怎么办?利用node.js + puppeteer 跑脚本实现改绑手机号
    javascript事件循环与js执行机制
  • 原文地址:https://www.cnblogs.com/jycjy/p/6714640.html
Copyright © 2020-2023  润新知