4,转换函数:
隐式转换;
显式转换:number要到character需要to_char;
character要到number需要to_number;
character要到date需要to_date;
date要到character需要to_char;
character是Oracle中的基本数据类型,你可以
这样理解:
character类型是其他类型转换的中继;
这些函数都有两个参数,第一个是要转换的对象,
第二个参数是格式;
想充分体会这些函数的重要性吗?
如果你的会话中现实日期的格式为:'dd-mm-yy'
而你试图插入一个以字符串表示的日期的话,
那你的字符串必须是'08-10-05'这样的匹配格式;
但是如果你试图插入的格式是'2005-10-08'的话,
你可以有下面两种选择:
1,修改会话为'yyyy-mm-dd';
2,用to_date('2005-10-01','yyyy-mm-dd');
NVL函数:将null值转换为一个实际的值,只有值为空时起作用;
用NVL函数的必要:
任何一个值和null值运算都会得到
一个null值,但实际上我们并不希望如此,
比如如果要计算一个员工年末应该得到的
工资加奖金,如果他没有奖金,那工资和
奖金相加就会是null,但实际上他至少应该拿
到工资而不是null, 所以可以用NVL函数来
指定一个值,比如给没有奖金的员工指定为0;
5,Decode函数:
这个函数非常有用,可以用加薪的例子来说明:
select job,sal,decode(job,'ANALYST',sal*1.1,
'CLERK',sal*1.15,
'MANAGER',sal*1.20,
sal) as jiaxin_salary
from emp;
这表示,工作职位为analyst的人,工资上涨10%,...
其他人员不涨工资;
//**几个重要的SQL-Plus命令:
save '\...' : 保存命令文件;
clear screen: 清楚屏幕;
get '\..' : 读取命令文件到缓存区,但SQL语句并不执行;
@ '\...' :加载并执行;相当于get+run;
connect scott/tiger,连接到oracle;
如果在用户名和密码后跟@主机字符串,就可以
连接到远程的数据库服务器;
//**Oracle的组织的一个很重要的认识:
Oracle中的表是针对用户的,也就是说一个用户对应拥有一些表,
而别的用户是不能直接访问的,必须做如下两件事情才可以:
1,受到要访问的表的用户的授权;
2,用表的拥有者用户.表名;