软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
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
生肖星座解梦 人民的名义 人民的名义在线看 三沣玩客 拍拍 视频 开发 Android开发 站长 古典小说 网文精选 搜图网 天下美图
中国文化英文 多播视频 装修知识库
2017-7-22 4:49:36
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --