oracle函数与操作

union,union all,intersect,minus  

多用于数据量比较大的数据局库,运行速度快。  

1). union  

该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中

重复行。  

SELECT ename, sal, job FROM emp WHERE sal >2500  

UNION  

SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';  

2).union all  

该操作符与union相似,但是它不会取消重复行,而且不会排序。  

SELECT ename, sal, job FROM emp WHERE sal >2500  

UNION ALL  

SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';  

该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中

重复行。  

3). intersect  

  使用该操作符用于取得两个结果集的交集。  

SELECT ename, sal, job FROM emp WHERE sal >2500  

INTERSECT  

SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';  

4). minus  

使用改操作符用于取得两个结果集的差集,他只会显示存在第一个集合中,而不

存在第二个集合中的数据。  

SELECT ename, sal, job FROM emp WHERE sal >2500  

MINUS  

SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';  

 (MINUS就是减法的意思)  

 

事务的几个重要操作?  

1.设置保存点 savepoint a  

2.取消部分事务 rollback to a  

3.取消全部事务 rollback  


oracle 的函数 

 

文章分类:数据库  

sql函数的使用  

字符函数?  

介绍  

字符函数是oracle中最常用的函数,我们来看看有哪些字符函数:  

 lower(char):将字符串转化为小写的格式。?  

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

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

? substr(char,m,n):取字符串的子串      n代表取n个的意思,不是代表取

到第n个  

? replace(char1,search_string,replace_string)  

? instr(char1,char2,[,n[,m]])取子串在字符串的位置


日期函数?  

介绍  

日期函数用于处理date类型的数据。  

默认情况下日期格式是dd-mon-yy 即12-7月-78  

(1)sysdate: 该函数返回系统时间  

(2)add_months(d,n)  

(3)last_day(d):返回指定日期所在月份的最后一天  

问题:查找已经入职8个月多的员工  

SQL> select * from emp where sysdate>=add_months(hiredate,8);  

问题:显示满10年服务年限的员工的姓名和受雇日期。  

 

$:在数字前加美元  

L:在数字前面加本地货币符号  

C:在数字前面加国际货币符号  

G:在指定位置显示组分隔符、  

D:在指定位置显示小数点符号(.)  

 

问题:显示薪水的时候,把本地货币单位加在前面  

SQL> select ename, to_char(hiredate, 'yyyy-mm-dd hh24:mi:ss'), 

to_char(sal,'L99999.99') from emp;
to_date?  

函数to_date用于将字符串转换成date类型的数据。  

问题:能否按照中国人习惯的方式年—月—日添加日期。  

 

系统函数  

 sys_context?  

1)terminal:当前会话客户所对应的终端的标示符  

2)lanuage: 语言  

3)db_name: 当前数据库名称  

4)nls_date_format: 当前会话客户所对应的日期格式  

5)session_user: 当前会话客户所对应的数据库用户名  

6)current_schema: 当前会话客户所对应的默认方案名  

7)host: 返回数据库所在主机的名称  

通过该函数,可以查询一些重要信息,比如你正在使用哪个数据库?  

select sys_context('USERENV','db_name') from dual;  

注意:USERENV是固定的,不能改的,db_name可以换成其它,比如select 

sys_context('USERENV','lanuage') from dual;又比如select 

sys_context('USERENV','current_schema') from dual;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15187685/viewspace-746489/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15187685/viewspace-746489/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值