Oracle单行函数笔记

 

1.字符类
lower:转换为小写
Select ENAME,LOWER(ENAME) From EMP

upper:转换为大写
Select upper('abcd') From DUAL

initcap :首字母大写
Select INITCAP(ENAME) From EMP

2.字符处理类
concat:连接两个不同的列,CONCAt只能接受两个参数
Select CONCAT(EMPNO,ENAME) From EMP
Select CONCAT('A','B') From dual

 

substr:截取子串
下标从1开始
Select SUBSTR(ENAME,2) From EMP--从第2个位置截到末尾
Select SUBSTR(ENAME,2,3) From EMP--从第2个位置截取3个


length:提取长度
Select ENAME,length(ename) From emp


INSTR:相当于String类中的indexOf,求索引
Select ENAME,instr(ename,'A') From emp

 

LPAD和RPAD的用法
表示补充的含义
Select LPAD(SAL,10,'*') From EMP
Select RPAD(SAL,10,'*') From EMP

将sal显示为10位,不足的位置补上字符*

trim两边滤空
Select Trim('   A B C      ') From DUal
使用LTrime和RTrim过滤一边的空格
Select LTrim('   A B C      ') From DUAL


REPLACE:替换
Select ename ,Replace(ename,'A','B') From EMP

3.数字转换类:
ROUND:四舍五入
TRUNC:截取
MOD:取余


Select ROUND(16.336666663,3) From DUAL
Select TRUNC(16.33666666,3) From DUAL
Select Mod(8,3) From DUAL


4.日期类函数
sysdate:年月日时分秒
日期+-1,都代表一天的时间,比如:
Select TRUNC(Sysdate-365) From DUAL
Select Sysdate-1/24/60 From DUAL

 

5.日期运算函数
MONTHS_BETWEEN:表示两个日期的月份之差
Select EMPNO,HIREDATE,MONTHS_BETWEEN(Sysdate,HIREDATE)/12 From EMP
ADD_MONTHS:表示给指定的日期加一个月数
Select HIREDATE,ADD_MONTHS(HIREDATE,3) From EMP

 

NEXT_DAY:表示以当前时间为基准,下一个"目标日"的日期
Select NEXT_DAY(Sysdate,'星期二') From DUAL


LAST_DAY:计算当前日期的最后一天
Select HIREDATE,LAST_DAY(HIREDATE)-HIREDATE From EMP


ROUND:对日期进行四舍五入
Select ROUND(Sysdate,'YEAR') From DUAL


TRUNC:表示对日期进行截取
Select TRUNC(Sysdate) From DUAL


5.TO_CHAR函数将日期转换为字符类型
Select TO_CHAR(Sysdate,'YYYY-MM-DD DAY HH24:MI:SS AM') From DUAL
特殊的日期转换描述
Select TO_CHAR(Sysdate,'"今天是"YYYY-MM-DD DAY HH24:MI:SS AM') From DUAL


6.TO_CHAR:可以对数字类型进行类型转换,转换的同时,你可以指定转换后的格式,比如:
9
0
,
L
$
.
G
D
实例:
Select TO_CHAR(SAL,'$999,999.00') From EMP


7.TO_NUMBER:作用是用来将一个指定的字符串类型的数字,转换为数字格式
注意:格式必须要匹配.
Select TO_NUMBER('$1,600.01','$999,999.99') From DUAL


8.TO_DATE:将字符串类型的日期,转换为日期类型
Select TO_DATE('2008-01==01','YYYY-MM==DD') From DUAL

特殊的日期格式:
Select TO_DATE('2008-01-01 星期二 10:36:31 上午','YYYY-MM-DD DAY HH:MI:SS PM') From DUAL


9,函数嵌套:
Select LENGTH(LOWER(ENAME)) From EMP


10.关于通用函数:
NVL:当修饰的字段的内容为null时,运算结果为指定的值
Select COMM,NVL(COMM,200) From EMP


NVL2:如果第一个表达式的值不为null,显示表达式2的值,否则(为null)显示表达式3的值
Select SAL,COMM,NVL2(COMM,SAL+COMM,SAL) From EMP


NULLIF:如果前后两个表达式的内容相等的,那就返回null,否则,返回第一个表达式的值
Select ENAME,JOB,NULLIF(LENGTH(ENAME),5) From EMP

 

COALESCE函数:用来匹配多个字段的值,如果表达式1的值为null,显示表达式2的值,如果表达式2也为空,显

示表达式3的值,依次类推

Select MGR,COMM, Coalesce(MGR,COMM,EMPNO,88) From EMP


11.条件表达式:
两中方式:
1.case:表达式语句
2.decode:函数,decode()


A.case语句
条件判断
case expre when condition then value
else value
end

Select job,
Case JOB
When 'CLERK' Then '店员'
When 'SALESMAN' Then '销售'
Else '临时工'
End
From emp


B.decode函数
Select job,
decode(JOB,
'CLERK','店员'
,'SALESMAN' ,'销售',
 '临时工'
 ) From

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值