打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
oracle新手入门指导之三续——精简ORACLE常用函数大全[天源迪科论坛]
oracle新手入门指导之三续——精简ORACLE常用函数大全

字符串大小写转换函数
 函数 结果 功能说明
 OWER(‘SQ Course‘)sq course 将所有字符变为小写
UPPER(‘SQ Course‘)SQ COURSE 将所有字符变为大写
INITCAP(‘SQ Course‘)Sq Course 每个单词的第一个字符大写其余的小写

字符串处理函数
 函数 结果 功能说明
CONCAT(‘Good‘,‘String‘)GoodString 连接两个字符串,该函数的参数只能有两个,类似||的作用
SUBSTR(‘String‘,1,3) Str 取字符串的子串
 ENGTH(‘String‘) 6 求字符串的长度
INSTR(‘String‘,‘r‘)3 if是子串,返回(其首字符)在原串中首次出现的位置,e se返回0
 PAD(sa ary,10,‘*‘)******5000 将sa ary以10个字符输出,不足10位的在左边补‘*‘,超出10位时,
 从高位往低位输出10位,多余的位忽略掉不输出
 
其他有用的字符串处理函数,将以实际应用的方式说明
SQ >se ectrep ace(‘itpuborac e‘,‘orac e‘,‘training‘) itpubfromdua ;//字符串替换
ITPUB
--------------
itpubtraining

SQ >se ecttrans ate(‘ThisistrainingofitpubinBeijing!‘,‘abcde‘,‘12345‘)itpubfromdua ;
ITPUB
--------------------------------------------
Thisistr1iningofitpu2inB5ijing!

SQ >se ectf oor(4.55)fromdua ;
F OOR(4.55)
-----------
 4
 
SQ >se ectcei (4.55)fromdua ;
CEI (4.55)
----------
 5
 
ROUND:4舍5入到指定的小数位
ROUND(45.926,2) 45.93
TRUNC:将值截断到指定的小数位
TRUNC(45.926,2) 45.92
MOD: 返回相除后的余数
MOD(1600,300) 100

日期
函数 描述
MONTHS_BETWEEN两日期相差多少月
ADD_MONTHS 加月份到日期
NEXT_DAY 指定日期的下一天
 AST_DAY 一个月中的最后一天
ROUND Round日期
TRUNC Truncate日期

 操作 结果
MONTHS_BETWEEN(‘01-SEP-95‘,‘11-JAN-94‘) 19.6774194
ADD_MONTHS(‘11-JAN-94‘,6) ‘11-JU -94‘
NEXT_DAY(‘01-SEP-95‘,‘FRIDAY‘) ‘08-SEP-95‘
 AST_DAY(‘01-SEP-95‘) ‘30-SEP-95‘
ROUND(‘25-JU -95‘,‘MONTH‘) 01-AUG-95
ROUND(‘25-JU -95‘,‘YEAR‘)01-JAN-96
TRUNC(‘25-JU -95‘,‘MONTH‘) 01-JU -95
TRUNC(‘25-JU -95‘,‘YEAR‘)01-JAN-95

取上周4的日期值
se ecttrunc(sysdate,‘D‘)-3fromdua ;
trunc(sysdate,‘D‘),截取到本周的第一天(0:00)
trunc(sysdate,‘M‘),截取到本月的第一天(0:00)
trunc(sysdate,‘DD‘), 截取到本日的0:00
trunc(sysdate,‘yyyy‘),得到今年的第一天的0:00.

Orac e以内部数字格式存储日期:世纪,年,月,日,小时,分钟,秒
缺省的日期格式是DD-MON-YY
SYSDATE是返回日期和时间的函数
DUA 是用来查看SYSDATE的虚表
十进制与十六进制
EYG E@vi en>se ect to_char(2463,‘xxxx‘)fromdua ;
十六进制与十进制
EYG E@vi en>se ect to_number(‘99f‘,‘xxxx‘)fromdua ;

使用TO_CHAR函数处理日期
SQ >SE ECTename, TO_CHAR(hiredate,‘fmDDMonthYYYY‘)HIREDATEFROM emp;
ENAME HIREDATE
---------------------------
KING 17November1981
B AKE 1May1981
C ARK 9June1981
JONES 2Apri 1981
MARTIN28September1981
A  EN 20February1981
...
14rowsse ected.

将空值转换为实际的值
数据格式可以是日期,字符,数字
数据类型必须匹配
NV (comm,0)//comm为空,则转化为0;否则不转化,还是原数.
NV (hiredate,‘01-JAN-97‘)
NV (job,‘NoJobYet‘)
NV 2(expr1,expr2,expr3)
如果expr1不为Nu  ,返回expr2,如果expr1为Nu  ,返回expr3。
expr1可以为任何数据类型
NU F(expr1,expr2)
比较两个表达式,如果相等返回空值,如果不等返回第一个值。
COA ESCE(expr1,expr2,...,exprn)
返回表达式列表里的第一个非空表达式

CASE表达式:
实现逻辑 IF-THEN-E SE
CASEexprWHENcomparison_expr1THENreturn_expr1
[WHENcomparison_expr2THENreturn_expr2
WHENcomparison_exprnTHENreturn_exprn
E SEe se_expr]END //同decode功能类似
SQ >se ectename,sa ,
 2 casejobWHEN‘MANAGER‘THEN1.1*sa 
 3 WHEN‘ANA YST‘THEN1.2*SA 
 4 WHEN‘C ERK‘THEN1.5*SA 
 5 E SEsa END"NEW_SA "
 6 fromemp;
 
ENAME SA  NEW_SA 
-------------------------------------
SMITH 800 1200
A  EN 1600 1600
WARD 1250 1250
JONES 2975 3272.5
MARTIN 1250 1250
B AKE 2850 3135
C ARK 2450 2695
SCOTT 3000 3600
KING 5000 5000
TURNER 1500 1500
ADAMS 1100 1650
JAMES 950 1425
FORD 3000 3600
MI  ER 1300 1950
...
14rowsse ected.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Oracle常用单行函数
ORACLE中函数
Oracle常用的一些语法、命令和函数
ORACLE PL/SQL 字符串函数、数学函数、日期函数
oracle教程:PLSQL常用方法汇总
Oracle中的NVL函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服