易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关文档:

oracle启动问题一般解决方法

oracle启动问题
一:数据库没有启动
#sqlplus /nolog
sql>connect /as sysdba
sql>startup
 
二:监听出问题
登录DB服务器
使用lsnrctl start/stop开启/关闭监听
使用lsnrctl status查看状态
理应为:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ERPAP)(PORT=1521)))
STATUS of the ......

oracle 锁 (查询/解锁语句)

通过 select * from table whereid=16701 for update 锁住一张表
通过以下语句可查询出被锁住的对象
SELECT OBJECT_ID,
       SESSION_ID,
       SERIAL#,
       ORACLE_USERNAME,
     &nb ......

oracle, stored procedure, cursor

CREATE OR REPLACE PROCEDURE kevin_proc(x varchar) IS
a VARCHAR(20);
b VARCHAR(20);
CURSOR mycur(rn NUMBER) IS SELECT * from t_kevin_test WHERE ROWNUM<rn;
BEGIN
OPEN mycur(10);
LOOP FETCH mycur INTO a,b;
EXIT WHEN mycur%NOTFOUND;
Dbms_Output.put_line('a: '||a);
Dbms_Output.put_line('b: '| ......

Oracle的日期函数

 
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 ......

oracle 数据类型详解 日期型

oracle 数据类型详解---日期型
      oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享:
注:由于INTERVAL及TIME ZONE实际用得比较少,所以本文内容未涉及这两个方面。
1、常用日期型数据类型
1.1、DATE
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号