oracle case关键字,sqlServer,oracle中case关键字的用法

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外部身份认证研究

密码文件认证          操作系统认证                  remote_login_passwordfile   SQLNET.AUTHENTICATION_SERVICES   &nb ......

truncate,delete,drop的异同点

注意:这里说的delete是指不带where子句的delete语句

相同点:truncate和不带where子句的delete, 以及drop都会删除表内的数据

不同点:

1. truncate和 delete只删除数据不删除表的结构(定义)

drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表� ......

大致分为三部份,1.SQL,2.ERP本身,3.本机

1.如果是SQL导出时出现,乱码可以通过修改NLS_LANG,来避免乱码,

繁体修改成:TRADITIONAL CHINESE_TAIWAN.ZHT16BIG5

简体修改成: SIMPLIFIED CHINESE_CHINA.ZHS16GBK

英文就不用说了!!

2.如果是ERP export 时出现乱码,可以通过设置profile来设置FND: NATIVE CLIENT ENC ......

什么是合并多行字符串(连接字符串)呢,例如:

SQL> desc test;

Name Type Nullable Default Comments

------- ------------ -------- ------- --------

COUNTRY VARCHAR2(20) Y

CITY VARCHAR2(20) Y

SQL> select * from test;

COUNTRY CITY

-------------------- --------------------

中国 台北

中国 香 ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值