软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 数据库 -> Oracle学习笔记(6)——函数 -> 正文阅读

[数据库]Oracle学习笔记(6)——函数


  • 函数的作用
    • 方便数据的统计
    • 处理查询结果
  • 函数的分类
    • 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;
[img]http://img.blog.csdn.net/20160327215853285?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 取整函数

                                            取最大值:CEIL(n)
                                            取最小值:FLOOR(n)
                                            例子:select ceil(23.45),floor(23.45) from dual;
[img]http://img.blog.csdn.net/20160327215906932?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 常用计算
                                              1、 取绝对值:ABS(n)
                                               select abs(23.45),abs(-23),abs(0) from dual;
[img]http://img.blog.csdn.net/20160327220227074?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
                                              2、取余数:MOD(m,n)   如果m和n中有一个值为null值,则结果返回null值
                                               select mod(5,2) from dual;
                                               select mod(5,null) from dual;
[img]http://img.blog.csdn.net/20160327220238071?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
                                              3、POWER(m,n):表示返回m的n次幂
                                               select power(2,3),power(null,2) from dual;
                                              4、求平方根:SQRT(m)
                                                select sqrt(16) from dual;
[img]http://img.blog.csdn.net/20160327220409653?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 三角函数
                                              1、正弦:SIN(n)、反正弦:ASIN(n)     n表示弧度
                                              2、余弦:COS(n)、反余弦:ACOS(n)   n表示弧度
                                              3、正切:TAN(n)、反正切:ATAN(n)   n表示弧度
                                                select sin(3.124) from dual;
[img]http://img.blog.csdn.net/20160327220431261?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 字符函数
    • 大小写转换函数
                                            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;
[img]http://img.blog.csdn.net/20160327220512044?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 获取字符串长度函数
                                            LENGTH(char):
                                            select length('acd ') from dual;
  • 字符串连接函数
                                            CONCAT(char1,char2)  与 || 操作符的作用一样
                                            select concat('ab','cd') from dual;
                                            select  'ab' || 'cd' from dual;
[img]http://img.blog.csdn.net/20160327220528466?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 去除子串函数
                                           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):取除首尾的空格
[img]http://img.blog.csdn.net/20160327220609779?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 替除函数
                                            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;
[img]http://img.blog.csdn.net/20160327220628279?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 日期函数
    • 系统时间
      • SYSDATE   默认格式:DD-MON-RR
                                                  select sysdate from dual;
[img]http://img.blog.csdn.net/20160402141512074?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 日期操作
    • 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;
[img]http://img.blog.csdn.net/20160402141603371?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 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;
[img]http://img.blog.csdn.net/20160402141618934?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 转换函数
    • 日期转换成字符的函数
                                        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;
[img]http://img.blog.csdn.net/20160402141645387?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 字符转换成日期的函数
                                        TO_DATE(char[,fmt[,params]])     注意:to_date()按照系统默认格式显示日期
                                         例子:select to_date('2015-05-22','YYYY-MM-DD') from dual;
[img]http://img.blog.csdn.net/20160402141714403?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 数字转换成字符的函数
                                        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;
[img]http://img.blog.csdn.net/20160402141726090?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 字符转换成数字的函数
                                        TO_NUMBER(char[,fmt])
                                        fmt是转换的格式,可以省略
                                        select to_number('$1,000','$9999') from dual;
[img]http://img.blog.csdn.net/20160402141741278?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
    • 自定义的函数(暂时不学)
  • 在查询中使用函数
    • 在查询中使用字符函数
                    1、在员工信息表查询出员工的生日(也就是根据员工省份证号码得到员工生日)
                    select substr(cardid,7,8) from users;
                    2、将部门号01全部替换成'信息技术'
                    select replace(deptno,'01','信息技术') from users;
                    3、将员工信息表中的年龄字段与10取余数
                    select mod(age,10) from users;
[img]http://img.blog.csdn.net/20160402145704293?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
[img]http://img.blog.csdn.net/20160402145716918?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
[img]http://img.blog.csdn.net/20160402145733293?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
  • 在查询中使用日期函数
                    1、取得员工入职的年份
                    select extract(year from regdate) from users;
                    2、查询出5月份入职的员工信息
                    select * from users where extract(month from regdate)=5;
[img]http://img.blog.csdn.net/20160402145748856?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2016-04-02 21:00:00  
数据库 最新文章
Python&MySQL&PyQt
最新用python来操作mysql完全解析
mongodb的安装详解
1.PDO简介
《MySQL必知必会学习笔记》:高级联结
【翻译自mos文章】怎么对Microsoft(Office)
MyCAT全局表描述及示例
ocp
关于SQL数据表存储过程表名前缀换成dbo代码
数据库调优教程(二)慢查询数据准备
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年1日历
2018-1-16 17:29:30
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --