ORACLE数据(一)

1.雪花模型和星型模型

雪花模型  相对于星型模型  去冗余度高,但是在性能方面比较低一些;

星型模型 相对于雪花模型  去冗余度低, 但是在性能方面比较高一些

 

2.CASE WHEN  语法结构

   CASE WHEN (条件一)  THEN (结果一)

                WHEN (条件二)  THEN (结果二) 

                 。。。。

                ESLE (其他结果 )END 

3.DECODE   语法结构

     DECODE((被筛选的信息) ,(条件一),(结果一),(条件二),(结果二),(其他条件))

4.ROUND      语法

    ROUND((被精确的数值),(精确的位数))

   正数N为精确到小数点后N位

   负数N位精确到小数点前-N位

5.SUBSTR函数和INSTR函数

    一般在截取ORACLE中某字符串某特定位置的字符的时候,需要SUBSTR函数和INSTR函数连用

   例如:SUBSTR((截取的字符串),INSTR((截取的字符串),(要找到所在位置的字符串),(起始位置),(第几次出现)))

  举例为:

    SELECT  --空
    CASE WHEN TYPE ='支付宝' AND INSTR(CARD,'支付宝:',1,2)=0 AND INSTR(CARD,'红包:',1,1)=0 THEN '0'
    --只有支付宝金额 
    WHEN TYPE ='支付宝' AND INSTR(CARD,'支付宝:',1,2)=0 AND INSTR(CARD,'红包:',1,1)>0 THEN SUBSTR(CARD,INSTR(CARD,'红包:',1,1)+3)
    --支付宝红包在前
    WHEN INSTR(CARD,'支付宝:',1,2)=0  AND INSTR(CARD,'支付宝:',1,1)>INSTR(CARD,'红包',1,1) THEN SUBSTR(CARD,INSTR(CARD,'红包:',1,1)+3,
                    INSTR(CARD,'支付宝:',1,1)-INSTR(CARD,'红包:',1,1)-4)
     --支付宝红包在后
    WHEN  INSTR(CARD,'支付宝:',1,2)=0  AND INSTR(CARD,'支付宝:',1,1)<INSTR(CARD,'红包',1,1) THEN SUBSTR(CARD,INSTR(CARD,'红包:',1,1)+3,
                    INSTR(CARD,'红包:',1,1)+3)
    --三个 支付红包在前
    WHEN INSTR(CARD,'支付宝:',1,2)>0  AND INSTR(CARD,'支付宝:',1,1)>INSTR(CARD,'红包',1,1) THEN   SUBSTR(CARD,INSTR(CARD,'红包:',1,1)+3,INSTR(CARD,'支付宝:',1,1)-INSTR(CARD,'红包:',1,1)-4)
     --三个,支付红包中间
    WHEN  INSTR(CARD,'支付宝:',1,2)>0  AND INSTR(CARD,'支付宝:',1,1)<INSTR(CARD,'红包',1,1) THEN SUBSTR(CARD,INSTR(CARD,'红包:',1,1)+3,INSTR(CARD,'支付宝:',1,2)-INSTR(CARD,'红包:',1,1)-4)
    ELSE '0'
    END  FROM  TEST  

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值