Chinaunix首页 | 论坛 | 博客
  • 博客访问: 791454
  • 博文数量: 180
  • 博客积分: 4447
  • 博客等级: 上校
  • 技术积分: 1582
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-03 14:51
文章分类

全部博文(180)

文章存档

2014年(6)

2013年(8)

2011年(125)

2009年(35)

2008年(1)

2007年(5)

分类: 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函数格式化元素

image

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;

阅读(1231) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~