orcale中的一些sql函数(去重,拼接,循环遍历,包含,判断)

  • 最近发现很多时候代码优化有限的时候sql的利用优化就很关键了特别是sql中的一些函数的使用,以下是最近使用的函数整理下

1.0.0  去重 DISTINCT

  1. distinct(xxx) 函数可以起到 去重的作用 distinct(id) 等于去除重复的id
  2. select DISTINCT(name), id from user

    查询user表中的所有名字和id然后去掉名字重复的结果

1.0.1 拼接/连接concat(string,string)

  1. concat('hello','world')  concat('hello',name) 
  2. 顾名思义就是在使用的时候可以把前后两个字符串拼接在一起使用得到自己需要的需求,而且还可以用字符串和表字段的字符串进行拼接.

1.0.2循环遍历/递归 strat with.....connect by prio...

  1. start with:循环递归的根节点(我的理解就是从什么样的条件下开始递归)
  2. connect by  prio...:以什么样的条件进行递归(也就是说如果能满足这个条件就继续查找,查到无法满足这个条件的时候结束)
  3. 详细可看https://blog.csdn.net/weixin_42452732/article/details/82114060

1.0.3包含instr(a,b) >0

  1. instr('abcd','ab')>0 判断'abcd'中是否包含'ab' 我一般放在sql的where条件中进行判断

1.0.4判断 case..when..then..else..end

  1. case
             when name = '张三' then null
               else
    
        name
      end

    判断name是否是张三如果是则取null如果不是则取name的值

  2. 这个语句很多地方都可以用 我基本就是当字符串的替换使用了

  3. 然后在end 后面还可以加as 别名  进行别名取名

End.....

这些函数有时候用起来有奇效,不过我修行尚浅233333333333333

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值