单行函数

单行函数指的是完成某一具体功能的操作函数,例如转大写,或小写
单行函数的格式:”返回值,函数名称(参数)”
单行函数按照类型分为以下几种:
字符串函数:
字符串函数主要是处理字符串数据的(对于字符串的数据可能是从列上找到的常量)

UPPER() 将传入的字符串变为大写字母
LOWER() 将传入的字符串变为小写自我
INITCAP() 开头首字母大写,其他小写
LENGTH 取得指定字符串的长度
SUBSTR (开始索引,长度) 进行字符串截取,如果没有索引则一直截取到字符串结尾
REPLACE(列|字符串,旧内容,新内容 将指定字符 串的数据替换旧数据

SELECT UPPER('hello')FROM dual; --转大写
Select lower(JOB)from emp; 转小写
Select ename, initcap(Ename)from emp; --首字母大写
Select length(ename)from emp; --字符长度
Select ename,substr(ename,1,3)from emp; --字符截取
Select ename,substr(ename,length(ename)-2)from emp; --由后向前截取

数值函数:
数值函数只有是进行数字的处理,最为核心的数值函数一共有三个
数字ROUND(列|数字[,小数位]) 实现数据的四舍五入,可以设置保留小数位
数字TRUNC(列|数字[小数位} 实现数据的截取,不进位
数字MOD(列|数字,列|数字) 求模(计算余数)
范例:
四舍五入: select round(999.35)from emp;
进位模式四舍五入: select round(999.35,1)from emp;
设置负数: select round(999.35)from emp;
如果设置为负数,表示进行整数位的四舍五入;
数据截取:select TRUNC(999.35)from emp;
指定数据截取 select TRUNC(999.35,1)from emp;
求模函数:select mod(10,3)from dual;
日期函数,
如果要想处理日期,必须知道当前日期是什么,Oracle里面专门提供了一个伪列
取得当前时间:

select sysdate from dual;

取得时间戳:

Select systimestamp from dual;

日期操作公式:
日期+数字=日期(表示若干天后的日期)
日期-数字=日期(表示若干天前的日期)
日期-日期=数字(天数)
函数名称 描述
日期 add_months(列|日期,月数) 在指定的日期增加若干月之后的日期
日期 MOSTHS_BETWEEN(日期,列|日期 返回两个日期之间的所经历的月数
日期LAST_day(列|日期) 取得指定日期所在月的最后一天
日期 NEXT_DAY(列|日期,星期X) 返回下一个指定一周时间数对应日期
范例
四个月之后的日期

Select add_months(sysdate,4)from dual;

在进行月数增加不会限制数据大小.

计算所有雇员到今天为止雇员的天数

Select empno,ename,hiredate,months_between(sysdate,hiredate)from emp;

计算所在月的最后一天的日期;

Select last_day(sysdate)from dual;

要求查询出所有在雇佣所在月倒数第三天的雇员信息;

Select empno,ename,hiredate,last_day(tireadte)-2 form emp;

判断条件:雇佣的日期(hiredate)=所在月最后一天的日期(last_day(hiredate))-2;
求出雇佣日期:

select empno,ename,hiredate,  
trunc(months_between(sysdate,hiredate)/12)year,
trunc(mod(months_between(sysdate,hiredate),12))months,
trunc(sysdate-add_months(hiredate,months_between(sysdate,hiredate)))day
from emp;

验证Next(Date)
Select next_day(sysday,’星期三’)from dual
转换函数,
函数名称 描述
To_char(列|日期|数字,转换格式 将日期或数字格式化为指定结构的字符串
字符串To_date(列|日期|数字,转换格式) 按照指定的转换格式编写字符串后将其变为日期型数据
字符串To_number(列|字符串) 讲字符串变为数字
转字符串函数 to_char
日期: 年(yyyy) 月(mm),日(dd);
时间:时(hh,hh24),分(mi),秒(ss);
数字:任意数字(9),本地货币符号L.
范例:将日期显示格式化

Select to_char(sysdate,'yyyy-mm-dd')from dual;

格式化日期时间;

select to_char(sysdate,'yyyy-mm-dd')from dual;

查询2月份雇佣的员工

Select*from emp where to_char(hiredate,'mm')='02';

数字格式化:

select to_char(12352425225,'L999,999,999,999,999,')from dual;

转日期函数

Select to_date('1989-10-19','yyyy-mm-dd')from dual;

数字NVL(列|null,默认值) 如果传入的内容是null,则使用默认值处理.如果不是空则使用原始数值处理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值