Oracle--单行函数

关于单行函数是Oracle的基础内容,博主只是想要复习一遍,如果想要更细致的内容,请移步

单行函数分为5类:字符函数、数值函数、日期函数、转换函数、通用函数

以下使用到的emp表为oracle自带的


1.字符函数

lower(chars):将字符串转为小写

select lower(ename) from emp;


upper(chars):转为大写

select upper(ename) from emp;


initcap(chars):首字母大写

select initcap(ename) from emp;


length(chars):求字符串的字符长度

select length(ename) from emp; 

而lengthb统计的是字节数


substr(chars,start,end):截取字符串

select substr(ename,1,3) from emp;

SMITH的结果:SMI, 说明substr的截取范围是[1,3],同时也说明角标从1开始计数


instr(charA,charB):检索charB在charA中第一次出现的位置

select instr('aqameda','me') from dual;

结果:INSTR('AQAMEDA','ME')
---------------------
                    4
说明角标也是从1开始的



lpad和rpad:在左边或右边填充n个字符

select lpad('foo',5,'*') from dual;

结果:**foo
可能大家已经发现了,只填充了2个*号,这是因为foo占了3,这里的填充指的是把foo填充到5位


trim(char1 from char2):去前后的指定字符

select trim('q' from 'qqaqq') from dual;
注意,只能指定一个要去掉的字符,不能是字符串,去空格指定为' '即可


replace(chars,old,new):替换

select replace('memeda','e','d') from dual;
select replace('memeda','me','dq') from dual;
可以替换字符串


concat(char1,char2):字符串连接

 select concat('my name is :',ename) from emp;
结果:my name is :SMITH
      my name is :ALLEN



2.数值函数

round(num,i):四舍五入

select round(84.517,1) from dual;
结果:84.5
84.517保留一位小数,可以传入负数,例如:<pre name="code" class="html">round(84.517,-1)的结果为80


 
trunc(num,n):截取n位小数 

select trunc(84.517,0) from dual;结果:84

mod(num1,num2):求num1除以num2的余数

select mod(100,30) from dual;结果为10

3.日期函数

补充知识:sysdate表示当前时间

months_between(date1,date2):    两个时间之间的月数

select months_between(hiredate,sysdate) from emp;
计算员工入职月数


给时间加上月数

select add_months(sysdate,12) from dual;



last_day(date):    本月最后一天

select last_day(sysdate) from dual;


next_day(date,星期n):下一个星期几

select next_day(sysdate,'星期六') from dual;
下一个星期六,但是不能写礼拜六 

ound(trunc)也可以对日期四舍五入,规则是一个月有没有过一半,一年有没有过一半


4.转换函数

oracle的转换分为显式转换和隐式转换,隐式转换由oracle自动完成,我们并不关心

oracle的显示转换:数字--字符串,字符串---日期之间的转换

to_char():
1.由时间转为字符串
         to_char(sysdate,'yyyy-mm-dd "当前时间:"hh24:mi:ss')

        "当前时间"使用了双引号,hh24表示用24小时制

2.由数字转为字符串
   to_char(sal,'L9,999.99'):L表示本地货币符号,9表示一位数,逗号表示千位符

to_number():to_number('$5,000.00','$9,999.99')

to_date():to_date('2016-05-15','yyyy-mm-dd')


5.通用函数

nvl(a,b):等同于mysql中的ifnull,表示a为null是,用b代替

select nvl(comm,0) from emp;


nvl2(a,b,c):如果a为null,返回c,否则返回b

select nvl2(comm,10,0) from emp;
nvl2是对nvl的增强,nvl在a不为null时只能返回其本身


nullif(a,b):如果a=b,返回null,否则返回a


coalesce(列1,列2):  从左到右 找到第一个不为null的值

select comm,sal,coalesce(sal,comm) from emp

 COMM        SAL COALESCE(SAL,COMM)
----- ---------- ------------------
             800                800
  300       1600               1600
  500       1250               1250
            2975               2975
 1400       1250               1250

标题Python网络课程在线学习平台研究AI更换标题第1章引言介绍Python网络课程在线学习平台的研究背景、意义、国内外现状和研究方法。1.1研究背景与意义阐述Python在线学习平台的重要性和研究意义。1.2国内外研究现状概述国内外Python在线学习平台的发展现状。1.3研究方法与论文结构介绍本文的研究方法和整体论文结构。第2章相关理论总结在线学习平台及Python教育的相关理论。2.1在线学习平台概述介绍在线学习平台的基本概念、特点和发展趋势。2.2Python教育理论阐述Python语言教学的理论和方法。2.3技术支持理论讨论构建在线学习平台所需的技术支持理论。第3章Python网络课程在线学习平台设计详细介绍Python网络课程在线学习平台的设计方案。3.1平台功能设计阐述平台的核心功能,如课程管理、用户管理、学习跟踪等。3.2平台架构设计给出平台的整体架构,包括前后端设计、数据库设计等。3.3平台界面设计介绍平台的用户界面设计,强调用户体验和易用性。第4章平台实现与测试详细阐述Python网络课程在线学习平台的实现过程和测试方法。4.1平台实现介绍平台的开发环境、技术栈和实现细节。4.2平台测试对平台进行功能测试、性能测试和安全测试,确保平台稳定可靠。第5章平台应用与效果分析分析Python网络课程在线学习平台在实际应用中的效果。5.1平台应用案例介绍平台在实际教学或培训中的应用案例。5.2效果评估与分析通过数据分析和用户反馈,评估平台的应用效果。第6章结论与展望总结Python网络课程在线学习平台的研究成果,并展望未来发展方向。6.1研究结论概括本文关于Python在线学习平台的研究结论。6.2研究展望提出未来Python在线学习平台的研究方向和发展建议。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值