• 函数的作用

    • 方便数据的统计
    • 处理查询结果
  • 函数的分类
    • Oracle内置的系统函数

      • 数值函数

        • 四舍五入

                                            ROUND(n[,m])

                                            1、n:表示要进行四舍五入的值
                                            2、m:表示保留小数点后几位或前几位
                                            3、省略m : 0
                                            4、m > 0:小数点后m位
                                            5、m < 0:小数点前m位
                                            样例:select round(23.4),round(23.45,1),round(23.45,-1) from dual;

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

  • 取整函数
                                            取最大值:CEIL(n)
                                            取最小值:FLOOR(n)
                                            样例:select ceil(23.45),floor(23.45) from dual;
  • 经常使用计算

                                              1、 取绝对值:ABS(n)

                                               select abs(23.45),abs(-23),abs(0) from dual;
                                              2、取余数:MOD(m,n)   假设m和n中有一个值为null值。则结果返回null值
                                               select mod(5,2) from dual;
                                               select mod(5,null) from dual;
                                              3、POWER(m,n):表示返回m的n次幂
                                               select power(2,3),power(null,2) from dual;
                                              4、求平方根:SQRT(m)
                                                select sqrt(16) from dual;
  • 三角函数

                                              1、正弦:SIN(n)、反正弦:ASIN(n)
    n表示弧度

                                              2、余弦:COS(n)、反余弦:ACOS(n)   n表示弧度
                                              3、正切:TAN(n)、反正切:ATAN(n)   n表示弧度
                                                select sin(3.124) from dual;
  • 字符函数

    • 大写和小写转换函数

                                            UPPER(char):转大写

                                            LOWER(char):转小写
                                            INITCAP(char):首字母转大写
                                            样例: select upper('abde'),lower('ADe'),initcap('asd') from dual;
  • 获取子字符串函数

                                            SUBSTR(char,[m[,n]])

                                            说明:char:源字符串,m:取子串的開始位置,n:截取子串的位数
                                                       n能够省略,当n省略时表示从m的位置截取到字符串的末尾
                                                       m为0,表示从字符串的首字母開始截取
                                                       m为负数,表示从字符串的尾部開始截取
                                            select substr('abcde',2,3),substr("abcde",2),substr('abcde',-2,1) from dual;
  • 获取字符串长度函数

                                            LENGTH(char):

                                            select length('acd ') from dual;
  • 字符串连接函数

                                            CONCAT(char1,char2)  与 || 操作符的作用一样

                                            select concat('ab','cd') from dual;
                                            select  'ab' || 'cd' from dual;

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

  • 去除子串函数

                                           1、 TRIM(c2 FROM c1):该函数表示从字符串c1中去除字符c2

                                            select trim('a' from 'abcde') from dual;
                                           2、LTRIM(c1[,c2]):
                                            select ltrim('ababaa','a') from dual;
                                           3、RTRIM(c1[,c3]):
                                            select rtrim('ababaa','a') from dual;
                                           4、TRIM(c1):取除首尾的空格

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

  • 替除函数

                                            1、REPLACE(char,s_string[,r_string]) : 省略r_string用空格替换

                                             样例:select replace('abced','a','A') from dual;
                                                        select replace('abced','a') from dual;
                                                        select replace('abced','ab','A') from dual;
  • 日期函数

    • 系统时间

      • SYSDATE   默认格式:DD-MON-RR

                                                  select sysdate from dual;

  • 日期操作

    • ADD_MONTHS(date,i):返回在指定日期上加入的月份。

      i能够是不论什么整数。假设i的小数,会自己主动截取整数。

                                                                                        假设i是负数,则相当于为原日期减去月份。

                                                select add_months(sysdate,3),add_months(sysdate,-3) from dual;
  • NEXT_DAY(date,char):假设char的值是'星期一',则返回date指定日期的下周一是那天

                                                select next_day(sysdate,'星期一') from dual;

  • LAST_DAY(date):返回某一月的最后一天的日期

                                                select last_day(sysdate) from dual;

  • MONTHS_BETWEEN(date1,date2):表示两个日期之间相隔的月份
                                                select months_between('20_5月_15','10_1月_15') from dual;

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

  • EXTRACT(date FROM datetime):
                                                 select extract(year from sysdate) from dual;
                                                 select extract(month from sysdate) from dual;
                                                 select extract(date from sysdate) from dual;
                                                 select extract(hour from timestamp '2015-10-1 17:25:14') from dual;

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

  • 转换函数

    • 日期转换成字符的函数

                                        TO_CHAR(date[,fmt[,params]])

                                        參数说明:
                                        date:将要转换的日期
                                        fmt:转换的格式
                                        params:日期的语言。通常不写
  • 默认格式:DD-MON-RR
  • YY  YYYY   YEAR
  • MM   MONTH
  • DD     DAY
  • HH24     HH12
  • MI    SS
                                        样例:select to_char(sysdate,'YYYY-MM-DD  HH24:MI:SS') from dual;
                                                   select to_char(sysdate,'YYYY-MM-DD  HH12:MI:SS') from dual;
  • 字符转换成日期的函数

                                        TO_DATE(char[,fmt[,params]])     注意:to_date()依照系统默认格式显示日期

                                         样例:select to_date('2015-05-22','YYYY-MM-DD') from dual;
  • 数字转换成字符的函数

                                        TO_CHAR(number[,fmt])

                                        9:显示数字并忽略前面的0
                                        0:显示数字。位数不足。用0补齐
                                        .或D:显示小数点
                                        ,或G:显示千位符
                                        $:美元符号
                                        S:加正负号(前后都能够,不能同一时候加上)
                                        select to_char(12345.678,'$99,999.999') from dual;
                                        select to_char(12345.678,'$99,999,999') from dual;
                                        select to_char(12345.678,'S99,999.999') from dual;

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

  • 字符转换成数字的函数

                                        TO_NUMBER(char[,fmt])

                                        fmt是转换的格式。能够省略
                                        select to_number('$1,000','$9999') from dual;

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

    • 自己定义的函数(临时不学)
  • 在查询中使用函数
    • 在查询中使用字符函数

                    1、在员工信息表查询出员工的生日(也就是依据员工省份证号码得到员工生日)

                    select substr(cardid,7,8) from users;
                    2、将部门号01所有替换成'信息技术'
                    select replace(deptno,'01','信息技术') from users;
                    3、将员工信息表中的年龄字段与10取余数
                    select mod(age,10) from users;

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

  • 在查询中使用日期函数

                    1、取得员工入职的年份

                    select extract(year from regdate) from users;
                    2、查询出5月份入职的员工信息
                    select * from users where extract(month from regdate)=5;

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

Oracle学习笔记(6)——函数的更多相关文章

  1. Oracle学习笔记—常用函数

    这里记录一些oracle常用的函数. TO_NUMBER()函数 将字符串类型转换成一个 number 类型的值. SELECT TO_NUMBER('100.00') FROM DUAL; TO_C ...

  2. Oracle学习笔记——常用函数总结

    在平时写PL/SQL的时候,经常要用到很多系统自带的函数,而这些函数用起来非常好用,但是每次用完以后,就又忘到脑后了,为了加深自己的映象,以及对这些函数做一个全面的总结,就有了今天这篇文章. 首先这就 ...

  3. Oracle学习笔记之四sp1,Oracle 11g的常用函数

    从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i)    分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...

  4. oracle学习笔记第一天

    oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字   1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...

  5. Oracle学习笔记之四,SQL语言入门

    1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...

  6. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  7. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  8. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  9. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  10. Oracle学习笔记——点滴汇总

    Oracle学习笔记——点滴汇总 http://www.botangdb.com/ Oracle GI = Grid Infrastructure = ASM + Cluster

随机推荐

  1. C++中如何访问全局变量和全局函数

    全局变量和全局函数是相对局部变量和局部函数而言的,不在{}或者for, if 等范围内的都是全局变量或者全局函数,最简单的是在同一个文件中去声明. 例如在mian.cpp中 #include < ...

  2. 微信小程序自定义音频组件,自定义滚动条,单曲循环,循环播放

    小程序自定义音频组件,带滚动条 摘要:首先自定义音频组件,是因为产品有这样的需求,需要如下样式的 而微信小程序API给我们提供的就是这样的 而且产品需要小程序有后台播放功能,所以我们不考虑小程序的 a ...

  3. GitLab目录迁移方法

    在生产环境上迁移GitLab的目录需要注意一下几点: 1.目录的权限必须为755或者775 2.目录的用户和用户组必须为git:git 3.如果在深一级的目录下,那么git用户必须添加到上一级目录的账 ...

  4. android应用程序签名(转)

    概述 Android系统要求,所有的程序经过数字签名后才能安装.Android系统使用这个证书来识别应用程序的作者,并且建立程序间的信任关系.证书不是用于用户控制哪些程序可以安装.证书不需要授权中心来 ...

  5. RSS介绍、RSS 2.0规范说明和示例代码

    RSS是一种消息来源格式规范,用以发布经常更新资料的网站,例如博客.新闻的网摘.RSS文件,又称做摘要.网摘.更新.频道等,包含了全文或节选文字,再加上一定的属性数据.RSS让发布者自动发布信息,也使 ...

  6. asp.net MVC 中 Session统一验证的方法

    验证登录状态的方法有:1  进程外Session   2 方法过滤器(建一个类继承ActionFilterAttribute)然后给需要验证的方法或控制器加特性标签 3 :新建一个BaseContro ...

  7. 采用模拟账号读取Exchange server未读邮件的注意事项(链接邮箱问题)【转】

    最近做项目碰到Exchange中,用EWS API方法读取的未读邮箱(ConnectingIdType.PrincipalName设置该属性的方法)附带代码部分: 核心代码 using Microso ...

  8. 我所经历的SAP选型[转]

    这是一个失败的选型项目,而且在可遇见的未来公司也不会再经历SAP选型,甚至不会再启动erp项目,个中原因很难一言道尽,在此简要的说说我们的选型过程以及在选型过程中对各种因素的考虑. 一.重启选型工作七 ...

  9. java根据模板HTML动态生成PDF

    原文:https://segmentfault.com/a/1190000009160184 一.需求说明:根据业务需要,需要在服务器端生成可动态配置的PDF文档,方便数据可视化查看. 二.解决方案: ...

  10. delphiredisclient开源GIT

    delphiredisclient - Redis client for Delphi Delphi Redis Client版本2(此分支)与Delphi 10.1 Berlin兼容,更好.警告!如 ...