码迷,mamicode.com
首页 > 数据库 > 详细

sql中的CHARINDEX和暂时表

时间:2016-01-30 22:23:49      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

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是用来分类的。
 

 

 

sql中的CHARINDEX和暂时表

标签:

原文地址:http://www.cnblogs.com/mengfanrong/p/5171473.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!