sql中的CHARINDEX和临时表

update #temp

set #temp.Recycle=case when UnionA.num>0 then 1 else 0 end

from (select GradeID,sum(num)as num from AreaAllot

     where CHARINDEX(@Area,AreaAllot.Area)=1 and LEN(@Area)=LEN(Area)-2

     group by GradeID)UnionA inner join #temp
    
on UnionA.GradeID=#temp.GradeID

 

1、对于这个CHARINDEX今天纠结了很久才算弄明白是怎么个意思,为了以后忘记,所以大概的做一下笔记,

CHARINDEX(@Area,AreaAllot.Area)=1还有就是@Area在AreaAllot.Area里面的起始位置,等于1表示起始位置为第一位,如果等于2表示起始位置为第二位,依此类推,但是如果等于0表示@Area不被包含在AreaAllot.Area中。
列子:
select CHARINDEX('43','414305')
select CHARINDEX('43','4305')
 
 
2、以前我一直以为group by 和order by是一个意思,就是排序,今天才知道原来group by是用来分类的。
 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值