oracle之函数笔记

字符函数

lower(char):将字符串转化为小写的形式
把emp表的ename转化为小写形式

select lower(ename) from emp;

upper(char):将字符串转化为大写的形式

select upper(ename) from emp;

length(char):返回字符串的长度

select * from emp where length(ename)=5;

substr(char,m,n):取字符串的子串
截取emp表中的ename字段,从第一个开始,取3个

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

综合应用
让emp表的ename字段的首字母大写,后面小写

select upper(substr(ename,1,1)||lower(substr(ename,2,length(ename)-1)from emp;

replace(char,search-string,replace-string)
把ename中的A都换成B

select replace(ename,'A','B') from emp;

数学函数(多用于银行系统和财务系统)

round(n,[m]): 执行四舍五入,没有m就四舍五入到整数,m是正数,就四舍五入小数点的m位后,若m是负数,四舍五入到小数点的m位前。

trunc(n,[m]): 截取数字,若没有m就只要整数部分,若m是正数,就截取到小数点的m位后,若m是负数,就截取到小数点的m位前。

mod(m,n): 取模

floor(n): 返回小于或是等于n的最大整数。

ceil(n): 返回大于或是等于n的最小整数。

absn(n): 返回数字n绝对值

acos(n):反余弦
asin(n):反正弦
atan(n):反正切
exp(n):返回e的n次幂
log(m,n):返回对数值
power(m,n): 返回m的n次幂

日期函数(处理date类型数据)

默认情况下日期格式是dd-mon-yy 日-月-年
sysdate:系统时间

select sysdate from emp;

add_months(d,n):加月份
从emp表中查询入职时间大于5个月的员工信息
hiredate:雇佣时间

select * from emp where sysdate >add_months(hiredate,5);

last_day(d):指定日期所在月份的最后一天
雇佣日期所在月份的最后一天

select last_day(hiredate) from rmp;

转换函数

数据类型从一种类型转换成另一种类型。
有时候你输入的类型和原来的类型不相等,oracle会隐形的转换。
create table stu(sno int)
insert into stu values(‘2020’)
显然要插入的值2020因为加了单引号不是int类型,但是oracle会自动的把 ‘2020’ 转换成2020。
但是也不适用于所有情况,所以要用转换函数。
to_char
雇佣日期以年月日时分秒的形式显示

select to_char(hiredate,'yyyy-mm-dd hh24:mi:ss');

工资以本地的货币符号形式,五位整数,两位小数显示

select to_char(sal,'L99999.99');

L本地货币
$美元
C国际货币

to_date:将字符串转化为date类型

系统函数

sys_context
terminal:终端的标识符
language:语言
db_name:数据库名称
nls_date_format:日期格式
session_user:数据库用户名
current_schema::方案名
host:数据库所在主机名称
查询你在使用哪个数据库

select sys_context('userenv','db_name') from emp;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值