首页 > 代码库 > sql中的CHARINDEX和临时表
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‘)
select CHARINDEX(‘43‘,‘4305‘)
2、以前我一直以为group by 和order by是一个意思,就是排序,今天才知道原来group by是用来分类的。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。