ORACLE 单行函数

单行函数:

操作数据对象

接受参数返回一个结果

只对一行进行变换

每行返回一个结果

可以转换数据类型

可以嵌套

参数可以是一列或一个值

  1. 大小写控制函数(lower、upper、initcap)

Select lower('huang')as小写,upper('HUANG')as 大写,Initcap('Huang')as 首字母大写 from dual;

  1. 字符控制函数(CONCAT、SUBSTR、LENGTH、INSTR、LPAD、RPAD、TRIM、REPLACE):

select concat('he','bi'),substr('hebi',1,3),

length('hebi'),instr('hebi','b'),

lpad('hebi',10,'*'),rpad('hebi',10,'*'),

trim('h'from 'hebi'),Replace('hebi','e','c') from dual;

  1. 数字函数(ROUND: 四舍五入,TRUNC:  截断,MOD: 求余)

Select round(88.888,2),trunc(88.888,1),

mod(1000,30)from dual;

  1. 日期函数(MONTHS_BETWEEN,ADD_MONTHS,NEXT_DAY,LAST_DAY)

select Months_between('12-9月-95','15-1月-94') 月数,Add_months('06-2月-94',4)日期,

round(Last_day('26-4月-19')) 本月最后一天,

Next_day('20-5月-98','星期一')星期几,

Trunc(sysdate,'Month')截断 from  dual;

  1. 通用函数(NVL ,NVL2 ,NULLIF)

select last_name,salary,commission_pct 比例,last_name,email,nvl(commission_pct,0)as 系数,nvl2(commission_pct,'有值','空')as nv,

nullif (length(last_name),length(email)) nuif from  employees

  1. 条件表达式(case when then)

select salary ,

case when salary <5000 then salary*0.2

     when salary >5000 then salary*0.25

     when salary >8000 then salary*0.3

     when salary >10000 then salary*0.35

  else salary  end 系数 from employees

  1. 分组函数(AVG COUNT MAX MIN STDDEV SUM GORUP BY HAVING)

select distinct cno,avg(score),max(score),

min(score),sum(score),count(sno)

from sc group by cno having cno='c002'; 

  1. 日期的转换(to_date,to_char,TO_NUMBER)

select To_char(sysdate,'yyyy mm dd') as  tchar,

to_date('26-3月-19','dd-mm"月"-yy') tdate,

To_number('¥88,888,88.00','L99,999,99.99') from dual;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值