oracle函数问题,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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值