Oracle将函数大致分为单行函数,聚合函数和分析函数。

单行函数分为字符函数,日期函数,转换函数,数字函数,通用函数,decode函数

一.字符函数

1)大小写控制函数

01.Lower() 全部小写

--字符函数
--小写
select Lower ( 'HAPPY') from dual;

效果:

02.Upper()  全部大写

--大写
select Upper ('happy') from dual;

效果:

03.initcap()  首字母大写

--首字母大写
select initcap ('happy') from dual;

效果:

2)字符控制函数

01.concat()   拼接

--拼接
select concat('happy','boy') from dual;

效果:

02.substr()   截取字符

--截取字符串 位置从1开始
select substr('happyboy',6) from dual;

效果:

--要截取的字符,起始位置,取几个字符
select substr('happyboy',6,3) from dual;

效果:

03.length()和lengthb()

  --length('字符串'):字符个数统计
-- lengthb('字符串'):字节个数统计
select length('呵呵') 字符数,lengthb('呵呵') as 字节数 from dual;

效果:

04.instr()

--instr('大字符串','小字符串')返回小字符串在大字符串中出现的位置
select instr('happy hehe','he',2,2) "Instring" from dual;

select instr('happy hehe','he',-2,2) "Reversed Instring" from dual;

效果:

select instr('happy hehe','he',2,2) "Instring in bytes" from dual;

效果:

05.lpad()和rpad()

--lpad()和rpad()
select lpad('happy',10,'*') from dual;

效果:

二.日期函数

1)日期函数

01.两个日期相差的月数

select MONTHS_BETWEEN
(TO_DATE('02-02-1995','MM-DD-YYYY'),
TO_DATE('01-01-1995','MM-DD-YYYY')) "Months"
from dual;

效果:

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

--向指定日期中加上若干月数
select TO_CHAR(ADD_MONTHS(hiredate,1),'DD-MON-YYYY') "Next month"
from emp
where ENAME='JONES';

效果:

2)日期相减

01.两个日期间的天数

--两个日期间的天数
select floor(sysdate-to_date('20020405','yyyymmdd')) from dual;

效果:

02.两个日期相差的月数

--两个日期相差的月数
select months_between(sysdate,to_date('20111204','yyyymmdd')) from dual;

效果:

三。转换函数

1)隐式转换

--转换函数
--隐式函数
select * from emp
where hiredate='17-12月-80';

效果:

2)显示转换

01.to_char()对日期的转换

--显式函数
--01.to_char()对日期的转换
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

效果:

02.to_char()对数字的转换

--02.to_char()对数字的转换
select to_char(sal,'L9,999.99')
from emp;

效果:

四.数字函数

01.Round()

--数字函数
--01.Round()四舍五入
select round(12.45,1) from dual;

效果:

02.trunc()截断

 --02.trunc()截断
select trunc(15.19,1) "Truncate" from dual;

效果:

五.通用函数

nvl和nvl2滤空函数

01.nvl滤空函数

select sal*12工资,comm 奖金,sal*12+nvl(comm,0) from emp;

效果:

02.nvl2滤空函数

select sal*12工资,comm 奖金,sal*12+nvl2(comm,comm,0) from emp;

效果:

六.decode函数

--decode函数
select ename,empno,
decode (ename,'SMITH',1,
'ALLEN',2,
'WARD',3,
'JONES',4) "Location"
from emp
where empno<7600
order by empno,"Location"

效果:

oracle:sql函数的更多相关文章

  1. Oracle SQL函数之数学函数

    Oracle SQL函数之数学函数 ABS(x) [功能]返回x的绝对值 [参数]x,数字型表达式 [返回]数字 SQL> SELECT ABS(),ABS(-) FROM DUAL; ABS( ...

  2. Oracle SQL函数

    Oracle将函数大致分为单行函数,聚合函数和分析函数. 单行函数分为字符函数,日期函数,转换函数,数字函数,通用函数,decode函数 一.字符函数 1)大小写控制函数 01.Lower() 全部小 ...

  3. Oracle SQL函数之转换函数To_char汇总

    TO_CHAR(x[[,c2],C3])[功能]将日期或数据转换为char数据类型[参数]x是一个date或number数据类型.c2为格式参数c3为NLS设置参数如果x为日期nlsparm=NLS_ ...

  4. Oracle SQL函数之转换函数

    chartorowid(c1) [功能]转换varchar2类型为rowid值 [参数]c1,字符串,长度为18的字符串,字符串必须符合rowid格式 [返回]返回rowid值 [示例] SQL> ...

  5. Oracle SQL函数之字符串函数

    1.SQL> ) from dual; --ASCLL(x)返回x的ASCLL码,CHR(x)返回ASCLL码为x的字符 ASCII() ---------- ---------- ------ ...

  6. [转]Oracle SQL函数pivot、unpivot转置函数实现行转列、列转行

    原文地址:http://blog.csdn.net/seandba/article/details/72730657 函数PIVOT.UNPIVOT转置函数实现行转列.列转行,效果如下图所示: 1.P ...

  7. Oracle SQL函数-NLSSORT

    Syntax 用途: NLSSORT返回字符值char的排序规则键和显式或隐式指定的排序规则.排序规则键是一个用于根据指定的排序规则对char进行排序的字节字符串.排序规则键的属性是:按二进制比较由给 ...

  8. Oracle SQL函数之聚组函数

    AVG([distinct|all]x) [功能]统计数据表选中行x列的平均值. [参数]all表示对所有的值求平均值,distinct只对不同的值求平均值,默认为all 如果有参数distinct或 ...

  9. Oracle SQL函数之日期函数

    sysdate [功能]:返回当前日期. [参数]:没有参数,没有括号 [返回]:日期 SQL> SELECT SYSDATE FROM DUAL; SYSDATE ----------- // ...

  10. ORACLE SQL 函数 INITCAP()

    INITCAP() 假设c1为一字符串.函数INITCAP()是将每个单词的第一个字母大写,其它字母变为小写返回. 单词由空格,控制字符,标点符号等非字母符号限制. select initcap('h ...

随机推荐

  1. SharePoint 2013 JavaScript API 记录

    1.获取创建者字段(Author),oListItem为SPListItem对象 oListItem.get_item('Author')只能获取到对象,获取用户名要用oListItem.get_it ...

  2. javascript的浅拷贝和深拷贝

    1.浅拷贝:复制一份引用,所有引用对象都指向一份数据,并且都可以修改这份数据. 2.深拷贝(复杂):复制变量值,对于非基本类型的变量,则递归至基本类型变量后,再复制. 这里画一个简单的图来加深理解: ...

  3. Atitit.iso格式蓝光 BDMV 结构说明

    Atitit.iso格式蓝光 BDMV 结构说明 1. Iso是个复合文件1 2. Iso内部格式如下1 2.1. Bdmv文件夹格式 BDMV(Blu-ray Disk Movie.BD-MV),为 ...

  4. 线程安全、数据同步之 synchronized 与 Lock

    本文Demo下载传送门 写在前面 本篇文章讲的东西都是Android开源网络框架NoHttp的核心点,当然线程.多线程.数据安全这是Java中就有的,为了运行快我们用一个Java项目来讲解. 为什么要 ...

  5. spring.net (1) 概念-控制反转(又名依赖注入)

    Spring.net 作为一个应用程序框架,在构建企业级.net应用程序提供了很多灵活而又丰富的功能(如:依赖注入,aop,数据访问抽象,asp.net 扩展). 控制反转: Inversion of ...

  6. android Gui系统之SurfaceFlinger(4)---Vsync(1)

    8.Vsync 8.1概论 VSYNC(Vertical Synchronization)是一个相当古老的概念,对于游戏玩家,它有一个更加大名鼎鼎的中文名字—-垂直同步. “垂直同步(vsync)”指 ...

  7. js自执行函数的几种不同写法的比较

    经常需要一个函数自执行,可惜这一种写法是错的: function(){alert(1);}();  原因是前半段“function(){alert(1);}”被当成了函数声明,而不是一个函数表达式,从 ...

  8. ror 在windows下开发的坑

    虽然知道ror在windows下的坑很多很多,但是目前没有先将就入门学习,也不折腾了.后面等待新机器来了,用linux来搭平台,先记录一下遇到的坑. 1.views/layouts/applicati ...

  9. (视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线代码编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定

    本文是<快速创建网站>系列的第6篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  10. yii2搭建完美后台并实现rbac权限控制案例教程

    作者:白狼 出处:www.manks.top/article/yii2_frame_rbac_template 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连 ...