zoukankan      html  css  js  c++  java
  • oracle中的常用函数、字符串函数、数值类型函数、日期函数,聚合函数。

    一、字符串的常用函数。

    --一、oracle 字符串常用函数
    --1. concat  连接字符串的函数,只能连接【两个】字符串。 字符写在括号中,并用逗号隔开!
    --2.“||”符号可以连接多个字符串 直接用||将多个字符链接即可。
    --3. dual?   dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录.
    select concat('lo','ve')from dual;
    select concat('o','k')from dual;
    select concat ('he','llo')from dual;
    
    select 'l'||'o'||'v'||'e'from dual;
    select ''||''||''||''||''||''||''from dual;
    select 'z'||'x'||'f'||'f'||'d'||'b'from dual;
    
    --4.initcap   将每个单词的首字母大写。有效位 1位
    select initcap('sss')from dual;
    select initcap('qing')from dual;
    
    --5.instr(母字符串,字符串)返回子字符串在母字符串中首次出现的位置,下标从1开始。
    select instr('sdfasdfasdf','fa')from dual;
    select instr('aaaaaaaaaf','f')from dual;
    
    --6.upper将所有字母变大写 lower变小写  (有效位都是 1 )
    select upper('wer')from dual;
    select lower('ASDF')from dual;
    
    --7.lpad(母字符串,n,字符串)在母字符串的左边补充子字符串。n代表补充之后达到的字符数量。
    select lpad('aaa',16,'di')from dual;
    select lpad('life',16,'love')from dual;
    
    --8.rpad 在右边补充
    select rpad('life',16,'love')from dual;
    
    --9.字符串删除函数 ltrim(删除左边的空格)  rtrim(删除右边的空格) 
    select ('               life')from dual;
    select rtrim('      life       ')from dual;
    
    --10. substr  截取字符串,第一参数  需要处理的字符串  ,二参数 从何开始,三参数,截取的max
    select substr('春有百花秋有月',3,2)from dual;
    select substr('夏有凉风冬有雪',3,2)from dual;
    
    --11.replace 替换字符串,1参数  需要处理  2参数 被替换的字符串 3替换后的字符串
    select replace('城模是金','城模','沉默')from dual;
    
    --12.字符去除  
    --trim  leading前           trailing后  both 二者都
    select trim (leading '*'from '*****aaa******')from dual;
    select trim (trailing '*' from '    aaaa*******')from dual;
    select trim (both '*' from '****aa****')from dual;

    二、数值类型的常用函数。

    --二、处理数值类型的常用函数
    --1.abs     返回指定值的绝对值
    select abs(-13)from dual;
    
    --2.ceil    返回大于或等于给出数字的最小整数  就是向上取值!3.1---->4
    select ceil(3.1)from dual;     
    select ceil(0.123)from dual;   
    
    --3.floor   对给定的数字取整数   就是向下取值!3.91---->3 
    select floor (3.91)from dual;      
    
    --4.mod(n1,n2) n1/n2  取余数  8/3------2
    select mod(8,3)from dual;
    
    --5.power(n1,n2) n1的n2次方 4,3-----4的3次方----64
    select power(4,3)from dual;
    
    --6.sign    取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
    select sign (45)from dual;
    select sign(-89)from dual;
    --7.round 按照指定的精度四舍五入! 这里保留小数点后4位 看第五位小数的值,来进行四舍五入。
    select round (2.945414,4)from dual;
    
    --8.trunc   按照指定的精度截取一个数,仅仅只做截取,不做四舍五入!
    select trunc(2.9199,3) from dual;
    select trunc(3.1269,3) from dual;

    三、日期函数。

    -- 三、日期函数
    --1.sysdate            获取当前日期  2019/5/8 19:12:03
    select sysdate from dual;
    
    --2.last_day           返回本月的最后一天  2019/5/31 19:11:54
    select last_day (sysdate)from dual;
    
    --3.add_months          加一个月  2019/6/8 19:11:30
    select add_months(sysdate,1)from dual;
    
    --4.MONTHS_BETWEEN(date2,date1) 给出date2和date1相差的月份
    select months_between(sysdate,'10-5月-2015')from dual;
    select months_between(sysdate,'8-5月-2020')from dual;
    
    --5.trunc(date,fmt) 按指定格式截取日期 fmt 可以是 hh(年月日 时 ) mm(当前月的1号) dd(当前日子)
    select trunc(sysdate,'hh' )from dual;
    
    --6.to_char() 把数字或者日期转换为字符串。转换日期to_char(日期,要转换成的日期的格式)  hh12 和hh24   12小时制 和 24小时制
    select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')from dual;
    select to_char(sysdate,'yyyy-mm-dd hh12:mi:ss')from dual;
    
    --7.to_date() 把字符串转换为日期 有两个参数,第一个参数是要转换的日期的字符串,第二个参数 日期字符串的格式
    select to_date('2012-5-12','yyyy-mm-dd')from dual;
    select to_date('1995-10-06','yyyy-mm-dd')from dual;
    
    --8.next_day  NEXT_DAY(date,'day') 给出日期date和星期x之后计算下一个星期的日期   当前是 2019/5/8 19:36:01 next_day 计算下礼拜几的当前时间。                            
    select next_day(sysdate,'星期二')from dual;
    select sysdate from dual;

    四、聚合函数。

    --四、聚合函数 max  min  count sum avg
    --1.求员工平均工资
    select avg(sal) from emp;
    
    select avg(distinct sal) from emp;--如果工资中有重复的值,则只计算一次
    
    --2.求员工max资
    select max(sal) from emp;
    
    --3.求员工min资
    select min(sal) from emp;
    
    --3.求xx总数量
    select count(deptno) from emp;
  • 相关阅读:
    DateTime.Now.ToString("yyyy/MM/dd") 时间格式化中的MM为什么是大写的?
    新入门PGSQL数据库(尝试利用PGPOOL实现分布式),摘录笔记
    MongoDB入门教程之C#驱动操作实例
    使用MongoDB C#官方驱动操作MongoDB
    【OOAD】OOAD概述
    【OOAD】设计模式概述
    【OOAD】面向对象设计原则概述
    【OOAD】OOP的主要特征
    深入浅出设计模式——访问者模式(Visitor Pattern)
    深入浅出设计模式——模板方法模式(Template Method Pattern)
  • 原文地址:https://www.cnblogs.com/ZXF6/p/10834177.html
Copyright © 2011-2022 走看看