sqlServer,oracle中case关键字的用法
在写SQL时,有时要根据已有的列值构造新的列值,这时就要用到的SQL中的case关键字。如下所示查询负责人信息表(T_MS_CustomerCrmInfoDutyPerson)中的是否是主要负责人(isMainDuty)字段,但是这个字段的值是以枚举的方式存储的,存储0表示是否,1表示是,否则表示未判断。这时直接查询出的值不是自己需要的值,可以用case关键字重新构建列值。
select case
when cfdutystate=0 then '否'
when cfdutystate=1 then '是'
else null
end as isMainDuty
from T_MS_CustomerCrmInfoDutyPerson
注意点:
1,以case开头,以end结尾
2,when后跟条件分支中,then后为显示结果
3,else为除此之外的默认情况,类似于java的switch case的default,可以不加
4,Oracle中end后跟别名或者sqlserver中语法如下:
isMainDuty =case
when cfdutystate=0 then '否'
when cfdutystate=1 then '是'
else null
end
除此之外,case也可以用到group by语句中以根据需要实现灵活的分组操作,如下所示的列子:
SELECT
CASE
WHEN price IS NULL THEN 'Unpriced'
WHEN price < 10 THEN 'Bargain'
WHEN price BETWEEN 10 and 20 THEN 'Average'
ELSE 'Gift to impress relatives'
&n
相关文档:
导入 IMP
Oracle 的导入实用程序 (Import utility) 允许从数据库提取数据,并且将数据写入操作系统文件。 imp 使用的基本格式: imp[username[/password[@service]]] ,以下例举 imp 常用用法。
1. 获取帮助
imp help=y
2. 导入一个完整数据库
imp system/manager file=bible_db log=dibl ......
Oracle的日期函数
常用日期型函数
1。Sysdate 当前日期和时间
SQL> Select sysdate from dual;
SYSDATE
----------
21-6月 -05
2。Last_day 本月最后一天
SQL> Select last_day(sysdate) from dual;
LAST_DAY(S ......
2010-04-21 14:04
oracle中构造数组的例子:
declare
type t_varray is varray(4) of number;
arr t_varray;
begin
arr := t_varray(1,2,3,4);
for i in 1..arr.count loop
dbms_output.put_line(arr(i));
end loop;
end;
构造二维数组的例子:
declare
type t_varray ......
author:skate
time:2010-05-13
1)If memory increases and you're 64-bit, e.g 8G to 16G, Oracle SGA and related parameters need adjust; So are some the Unix kernel parameters.
2)As for CPU related configuration, some parameters, based on CPU_co ......
由于之前学习oracle的时候比较随意,看书也是比较少去深入思考原理,而从前几天决定要重新燃起oracle的学习激情后,我又重新的从基础学起,此时我学oracle的心态也比以前好很多了,现在是努力的一点一点去啃了,即使很花时间,但我想正是通过今天我这样的埋头苦读才会换来有朝一日在oracle方面的质的飞跃的。
  ......