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

sql中的CHARINDEX和临时表

时间: 2024-12-07 12:43:10

sql中的CHARINDEX和临时表的相关文章

SQL中的charindex函数与reverse函数用法

----------------------首先介绍charindex函数----------------------------- CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置. CHARINDEX函数调用方法如下: CHARINDEX ( expression1 , expression2 [ , start_location ] ) Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expres

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=#

(转)SQL中的ISNULL函数介绍

SQL中有多种多样的函数,下面将为您介绍SQL中的ISNULL函数,包括其语法.注释.返回类型等,供您参考,希望对您学习SQL能够有所帮助. ISNULL 使用指定的替换值替换 NULL. 语法ISNULL ( check_expression , replacement_value ) 参数check_expression 将被检查是否为 NULL的表达式.check_expression 可以是任何类型的. replacement_value 在 check_expression 为 NUL

sql 解析字符串添加到临时表中 sql存储过程in 参数输入

sql 解析字符串添加到临时表中  sql存储过程in 参数输入 解决方法 把字符串解析 添加到 临时表中 SELECT * into #临时表   FROM dbo.Func_SplitOneColumnTabel('001,gf', ',') select * from 表 where ID in (select id from 临时表) Create function [dbo].[Func_SplitOneColumnTabel] (@str nvarchar(max),@split v

sql 表值函数-将一个传入的字符串用2中分隔符拆分成临时表

USE [tms]GO/****** Object: UserDefinedFunction [dbo].[fn_StrToTable_Double] Script Date: 2017/4/26 9:07:38 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: HXQ-- Create date: 2016年8月9日18:0

SQL中使用WITH AS提高性能,使用公用表表达式(CTE)简化嵌套SQL

一.WITH AS的含义     WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到.有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分. 特别对于UNION ALL比较有用.因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,则只要执行一遍即可.如果WITH AS短语所定

SQL Server 2008 表变量 临时表

最近做一个报表,其中 在报表中用到了存储过程,游标,cte表达式,临时表和表变量. 在游标中循环遍历cte中的数据,把对应的数据存放在变量里面,之后把变量插入到表变量中,游标结束后,想要根据存储过程的参数对表变量进行过滤时,问题就来了. 用动态sql拼接sql语句时,就会出错.提示时没有声明表变量. 其实,表变量不能运用在动态sql中.怎么办呢?我是把表变量中的数据插入到临时表中,之后 在动态sql中实用临时表进行拼接就可以了. 不知道 大家 有没有更好的想法. 注: 临时表 : #tablen

SQL中游标(二)

游标是SQL数据库中不可或缺的部分,可以旋转储存在系统永久表中的数据行的副本,下面就将为您详解游标的使用,以及语法,供您参考学习. MS-SQL的游标是一种临时的数据库对象,既对可用来旋转储存在系统永久表中的数据行的副本,也可以指向储存在系统永久表中的数据行的指针. 游标为您提供了在逐行的基础上而不是一次处理整个结果集为基础的操作表中数据的方法. 1.如何使用游标 1)    定义游标语句 Declare <游标名> Cursor For 2)    创建游标语句 Open <游标名&g

sql中取小数的整数部分和小数部分

1.floor()函数. select floor(3.44), 3.44-floor(3.44) 显示: 3     0.44 对于负数和正数这个函数处理的不一样. 对于正数不进行四舍五入.对于负数进行四舍五入. 2. select cast(12.3 as int), 12.3-cast(12.3  as int) select cast(-12.3 as int), -12.3+cast(-12.3  as int) 显示: 12     0.3 -12 -0.3 3. select le