Oracle那些坑

来源: http://edgenhuang.iteye.com/blog/975567

 

  • Oracle 判断语句:

1、  if else

一、单个IF
1、

if a=...  then
.........
end if;

2、

if a=... then
......
else
....
end if;

二、多个IF

if a=..  then
......
elsif a=..  then
....
end if;     
这里中间是“ELSIF”,而不是ELSE IF 。这里需要特别注意

2、  decode函数

DECODE(value,if1,then1,if2,then2,if3,then3,...,else)

  表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。

2、case when

case when a='1'then 'xxxx'
     when a='2' then 'ssss'
else
  'zzzzz'
end as

  

注意点: 

1、以CASE开头,以END结尾
2、分支中WHEN 后跟条件,THEN为显示结果
3、ELSE 为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加
4、END 后跟别名  

 

  • Oracle的CLOB字段的模糊查询:
select * from TABLE表 where dbms_lob.instr(字段名(clob类型),'查询条件',1,1) > 0
  • SQL Server中substring的用法:

SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分。substring(操作的字符串,开始截取的位置,返回的字符个数)

例如,我们需要将字符串'abdcsef'中的‘abd’给提取出来,则可用substring 来实现:

select substring('abdcsef',1,3)
查询结果:
'abd'
  • Oracle中substr的用法

1、substr(string string, int a, int b) 
参数1:string 要处理的字符串 
参数2:a 截取字符串的开始位置(起始位置是0) 
参数3:b 截取的字符串的长度(而不是字符串的结束位置) 
例如: 
substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字符 
substr("ABCDEFG", 2); //返回:CDEFG,截取从C开始之后所有字符 
substr("ABCDEFG", 0, 3); //返回:ABC,截取从A开始3个字符 
substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回。 
substr("ABCDEFG", -3, 3); //返回:EFG,注意参数-3,为负值时表示从尾部开始算起,字符串排列位置不变。 

2、substr(string string, int a) 
参数1:string 要处理的字符串 
参数2:a 可以理解为从索引a(注意:起始索引是0)处开始截取字符串,也可以理解为从第 (a+1)个字符开始截取字符串。 
例如: 
substr("ABCDEFG", 0); //返回:ABCDEFG, 截取所有字符 
substr("ABCDEFG", 2); //返回:CDEFG,截取从C开始之后所有字符

转载于:https://www.cnblogs.com/Joyce-Record/p/11399862.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值