lower函数:
此函数将全部的大写字母都可以变为小写字母
SELECT lower('ABCDE') FROM dual ;
• dual表为一个虚拟表
upper函数:将输入的字符串变为大写字母
SELECT upper('abcd') FROM dual ;
例如:之前查询的时候区分大小写,所以此处如果输入的是小写字母,就可以通过upper函数进行转换。
查询雇员姓名内容为smith的全部员工。
SELECT * FROM emp WHERE ename=UPPER('smith') ;
initcap函数:将每个字符串的首字母大写
例如:要求将雇员表中的全部雇员信息的首字母大写。
SELECT initcap(lower(ename)) FROM emp ;
函数可以进行嵌套。
concat函数:字符串连接,可以连接两个字符串
SELECT concat('hello',' world!!!') FROM dual ;
实际上使用“||”也可以完成两个字符串的连接操作。
substr函数:字符串截取
截取的时候需要注意:要从那里开始截取,之后取多长的长度。
SELECT substr('hello',1,2) FROM dual ;
注意:substr函数的开始点是从1开始的。
length:取出字符串的长度,例如,取出每一个雇员的姓名的长度:
SELECT ename||' 姓名的长度为:'||length(ename) FROM emp ;
instr函数:查找在一个字符串中是否有指定的字符串,如果有,则返回其位置
SELECT instr('hello','x') FROM dual ;
• 如果有此字符串,则返回位置,如果没有,则返回0。
replace函数:替换,可以将一个字符串中的指定字符串替换为其他内容:
SELECT replace('hello','l','x') FROM dual ;
trim函数:去掉左右空格的函数
SELECT trim(' hello ') FROM dual ;
查询:
1、 检索姓名最后一个字母为N的雇员
• SELECT * FROM emp WHERE substr(ename,-1,1)='N';
2、 检索职务为“SALE”的全部员工信息
• SELECT * FROM emp WHERE substr(job,1,4)='SALE';
ROUND表示四舍五入
•SELECT ROUND(34.56,-1) FROM dual ;
TRUNC函数:表示截取函数
• SELECT TRUNC(34.56,-2) FROM dual ;
MOD函数:取余数
•SELECT MOD(10,3) FROM dual ;
取得当前日期:
在Oracle中可以通过查询sysdate取得当前的日期:
• SELECT sysdate FROM dual ;
例如:计算10部门中的员工进入公司的日期数:
肯定使用当前日期-雇佣日期(hiredate) = 天数,天数/7为日期数。
SELECT ename,round((sysdate-hiredate)/7) from emp ;
例如:
求出所有员工的受雇月数:months_between,使用当前日期与雇佣日期比较。
• SELECT ename,round(MONTHS_BETWEEN(sysdate,hiredate)) from emp ;
ADD_MONTHS:表示在日期的基础上增加几个月之后的日期:
求出,三个月之后的日期是那一天:
SELECT ADD_MONTHS(sysdate,3) FROM dual ;
NEXT_DAY:表示下一个这天(星期几)
SELECT NEXT_DAY(sysdate,'星期一') FROM dual ;
LAST_DAY:求出当前日期所在月的最后一天:
SELECT LAST_DAY(sysdate) FROM dual ;
例如:
显示受雇时间不满320-个月的雇员的编号、受雇日期、受雇的月数、满六个月的复审日期、受雇后的第一个星期五以及受雇当月的最后一天
求出雇佣月数大于320的雇员信息:
SELECT * FROM emp WHERE MONTHS_BETWEEN(sysdate,hiredate)>320 ;
综合:
SELECT empno 雇员编号,hiredate 雇佣日期,
round(MONTHS_BETWEEN(sysdate,hiredate)) 雇佣月数 ,
add_months(hiredate,6) 复审日期,next_day(hiredate,'星期五') 受雇后到第一个星期五,
last_day(hiredate) 最后一天
FROM emp WHERE MONTHS_BETWEEN(sysdate,hiredate)>320 ;
例如:现在要求取出全部员工受雇的年份
实际上要对hiredate中的内容进行分离,取出年份。
SELECT empno,ename,TO_CHAR(hiredate,'YYYY') FROM emp ;
取出雇佣的月份和日:
SELECT empno,ename,TO_CHAR(hiredate,'YYYY') 年,
TO_CHAR(hiredate,'MM') 月,TO_CHAR(hiredate,'DD') 月 FROM emp ;
也可以通过此函数把显示的日期的格式进行修正:
年-月-日:2008-4-7
SELECT empno,ename,TO_CHAR(hiredate,'YYYY-MM-DD') FROM emp ;
正常情况下的日期,如果是月应该是两位,如果现在是2月,则会显示02月,如果现在不希望显示出前导0,则可以加入一个fm
SELECT empno,ename,TO_CHAR(hiredate,'fmYYYY-MM-DD') FROM emp ;
可以将一个数值按照指定的格式输出。
SELECT empno,sal FROM emp ; 此时不是很明确的知道查询出的工资,而且工资的位数也不标准。
使用to_char完成:SELECT empno,to_char(sal,'L99,999') FROM emp ;
to_date函数:
可以将一个字符串变为一个日期类型。
SELECT to_date('2007-4-7','YYYY-MM-DD') FROM dual ;
要求:
查询出全部雇员的年薪(基本工资和佣金)。
SELECT empno,(sal+comm)*12 FROM emp ;
如果没有奖金的雇员,则年薪也没了,因为是null值,所以最后的计算结果仍然是null。
希望如果最后的值为null,则应该按0进行计算,此时就需要NVL函数的支持。
Nvl函数可以将空值变为一个特定的数值
SELECT empno,sal,NVL(comm,0) FROM emp ;
使用此函数修改上面的查询:
SELECT empno,(sal+NVL(comm,0))*12 FROM emp ;
select empno,ename,job from emp ;
希望:
• 如果工作是CLERK:则显示办事员
• 如果工作是SALESMAN:则显示为销售人员
• 如果工作是MANAGER,则显示为经理
SELECT empno,ename,DECODE(job,'CLERK','办事员','SALESMAN','销售人员','MANAGER','经理') FROM emp ;
分享到:
相关推荐
oracle函数介绍 1 著名函数之单值函数 pdf oracle函数介绍 2 非著名函数之单值函数 pdf oracle函数介绍 3 著名函数之聚合函数 pdf oracle函数介绍 4 非著名函数之聚合函数 pdf oracle函数介绍 5 分析函数简述 ...
oracle 函数大全oracle 函数大全oracle 函数大全oracle 函数大全oracle 函数大全oracle 函数大全oracle 函数大全
oracle函数大全 oracle函数大全 oracle函数大全
postgresql 兼容 oracle 函数, postgresql 兼容 oracle 函数,postgresql 兼容 oracle 函数, postgresql 兼容 oracle 函数
oracle 函数大全 参考函数 手册 速查 chm格式。。。
Oracle函数.chm
oracle函数大全,oracle函数大全,oracle函数大全,oracle函数大全,
Oracle函数.txt Oracle函数.txt Oracle函数.txt
oracle函数大全.chm oracle函数大全.chm
ORACLE函数.pdfORACLE函数ORACLE函数.pdf
ORACLE函数及其用法ORACLE函数及其用法ORACLE函数及其用法ORACLE函数及其用法ORACLE函数及其用法
oracle函数大全,介绍各自oracle函数1111111111111111111
Oracle自定义函数返回一张表。主要用于生成一张等时间间隔的表数据。
Oracle函数大全 Oracle函数大全 Oracle函数大全Oracle函数大全
Oracle函数学习资料,包含各种常用Oracle函数。
oracle函数大全.doc oracle函数大全.doc oracle函数大全.doc oracle函数大全.doc
Ora9iSQL参考手册 oracle函数大全 分类显示 Oracle函数大全 Oracle函数手册 ORACLE九阴真经 oracle知识库 SQLCodes Oracle错误代码与消息解释 SQL语言参考大全
Ora9iSQL参考手册 oracle函数大全 分类显示 Oracle函数大全 Oracle函数手册 ORACLE九阴真经 oracle知识库 SQLCodes Oracle错误代码与消息解释 SQL语言参考大全
DBA日记(第一部),oracle函数介绍(1) 著名函数之单值函数,oracle函数介绍(2) 非著名函数之单值函数,oracle函数介绍(6) 著名函数之分析函数等
oracle函数大全.pdf oracle函数大全.pdf