分类: Oracle
2011-02-25 18:02:14
1.隐式数据类型转换
在表达式中, Oracle服务器能自动地转换下列各项:
VARCHAR2 or CHAR NUMBER
VARCHAR2 or CHAR DATE
2.fm 移除填补空白或者阻止零开头
SELECT last_name,
TO_CHAR(hire_date, 'fmDD Month YYYY')
AS HIREDATE
FROM employees;
3.to_char函数格式化元素
4.NVL函数
把一个NULL值转换成可用的值:
– 能被使用于日期,字符和数字数据类型
– 数据类型必须匹配:
NVL(commission_pct,0)
NVL(hire_date,'01-JAN-97')
NVL(job_id,'No Job Yet')
5.NVL2函数
SQL> SELECT last_name, salary, commission_pct,
2 NVL2(commission_pct,
3 'SAL+COMM', 'SAL') income
4 FROM employees WHERE department_id IN (50, 80);
如果为空返回为第一个值,如果不为空返回第二个值。
6.NULLIF函数,两个参数相等为返回空,如果不相等返回第一个值
SELECT first_name, LENGTH(first_name) "expr1",
last_name, LENGTH(last_name) "expr2",
NULLIF(LENGTH(first_name), LENGTH(last_name)) result
FROM employees;
7.使用COALESCE结合函数
因为结合函数COALESCE能采取多个迭代数值,所以COALESCE函数
比NVL函数有更多好处
COALESCE函数返回第一个不是NULL的表达式,;否则继续COALESCE
下一个表达式
SELECT last_name, employee_id,
COALESCE(TO_CHAR(commission_pct),TO_CHAR(manager_id),
'No commission and no manager')
FROM employees;