Oracle

||为拼接字符
数值函数:
ceil(45.925)—46 四舍五入保留整数
floor(45.925)—45保留整数
round(45.925,2)—四舍五入保留两位小数round(45.925,-1)–50
trunc(45.925,2)–45.92 截断
mod(9 ,3)–0 求余
字符函数:
substr(str1,起始索引,长度) 起始索引不管是0还是1 都是从第一个字符开始截取。
substr(‘asdfg’,0,3)–asd
获取字符段长度:
length(‘abcdefg’)-----7
去除字符左右两边的空格:
trim(_hello)----hello
替换字符串:
replace(‘hello’,‘l’,‘a’)----heaao
如果要算员工的奖金,因为有些人没有奖金,所以为null,null代表不确定的内容,不可以做四则运算,此时就要把null转化为数值类型0
例:select nvl(奖金,0) from emp;
如果奖金为null 则返回0;
日期函数:
查询今天的日期:select sysdate from dual;
查询三个月后的今天:select add_manth(sysdate,3) from dual;
查询员工干了几个月:select manth_between(sysdate,今天日期)from emp;
转换函数:
字符转数值:select 100+to_namber(‘10’) from daul; -----110
数值转字符:select to_char(sal,’$9999.99’)from emp;-----$4567.89
日期转字符:to_char()
to_char(sysdate,‘d’)代表一个星期中第几天
to_char(sysdate,‘dd’)代表一个月中第几天
to_char(sysdate,‘ddd’)代表一年中第几天
字符转换日期 to date(‘1987’,‘yyyy’) 把字符转换成日期后可以相加减
通用函数:
nvl(参数1,参数2)如果参数1=null,就返回参数2
nvl2(参数1,参数2,参数3)如果参数1=null,就返回参数3,否则就返回参数2
例:select nvl2(null,5,6) from daul;----6
nullif(参数1,参数2)如果参数1=参数2 就返回null,否则返回参数1
coalsece(…)返回第一个不为null的值
事务处理
事务概述:原子性,一致性,隔离性,持久性。
回滚事务:在事务的执行中,用户可以通过建立保存点将一个较长的事务分隔为几部分。这样用户就可以有选择的回退到某个保存点,并且该保存点之后的所有操作都将被取消。
例:
create table stu(sid number primary key,sname varchar);
insert into stu values(1,‘lili’);
savepoint sp;创建保存点
insert into stu values(2,‘licy’);
如果此时查询将查询到两个人
rollback to savepoint sp;回退完成
commit 提交完成
此时查询只能查询到lili;
sql 的优化
1.少用* 来代替列名
2.用truncate代替delete(不理解)
3.多用commit
4.减少表的查询次数
5.用not exists/exists代替not in/in
条件表达式
取别名(英文名换成中文名)
第一种方式:
select
case ename
when ‘lili’ then ‘李丽’
else
‘小明’
end ‘中文名’
表:
中文名
李丽
小明
第二种方法:
select decode (ename, ‘lili’,‘李丽’ …‘小明’) from emp;
…处省略lili 李丽这样的组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值