易截截图软件、单文件、免安装、纯绿色、仅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 锁 (查询/解锁语句)

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

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 for update of 和for update的区别

select * from TTable1 for update 锁定表的所有行,只能读不能写
 
2  select * from TTable1 where pkid = 1 for update 只锁定pkid=1的行
3  select * from Table1 a join Table2 b on a.pkid=b.pkid for update 锁定两个表的所有记录
 
4 select * from Table1 a join Table2 b on a.pki ......

Oracle 多行记录合并/连接/聚合字符串的几种方法

什么是合并多行字符串(连接字符串)呢,例如:
SQL> desc test;
Name Type Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y
CITY VARCHAR2(20) Y
SQL> select * from test;
COUNTRY CITY
-------------------- --------------------
中国 台北
中国 香 ......

Oracle时区

商业和数据库很多时候必须跨时区工作,从9i开始,oracle环境开始有了时区意识,通过指定数据库的时区和使用TIMESTAMP WITH TIME ZONE和TIMESTAMP WITH LOCAL TIME ZONE数据类型来实现该功能。
TIMESTAMP WITH TIME ZONE不会存储数据库时区,但是有一个指示用来说明该时间所使用的时区。TIMESTAMP WITH LOCAL TIME ZONE会同 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号