其功能为: 将字符串如'1,2,3,4,5,6' 拼接成SQL里面的id
1:使用:

 select * from Student where id  IN(
SELECT * FROM dbo.F_SPLIT('1,2,3,4',',')
)
2:定义表值函数:
USE [CRM_CN2]
GO
/****** Object: UserDefinedFunction [dbo].[F_SPLIT] ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
=============================================
Author: zrf
Create date: 2019 09 10
Description: 将表中字段pid:里面的值 如:"12,33,15,36,889" -->转换成一张表
=============================================
ALTER FUNCTION [dbo].[F_SPLIT]
(
@SourceSql nvarchar(),
@StrSeprate varchar()
)
RETURNS @temp TABLE(Temp_Field nvarchar()) AS
BEGIN
declare @i int
set @SourceSql = rtrim(ltrim(@SourceSql)) set @i = charindex(@StrSeprate, @SourceSql)
while @i >=
begin
insert @temp values(left(@SourceSql, @i - ))
set @SourceSql = substring(@SourceSql, @i + , len(@SourceSql) - @i)
set @i = charindex(@StrSeprate, @SourceSql)
end
if @SourceSql <> '\'
insert @temp values(@SourceSql)
RETURN
END

Sqlserver表值函数来获取逗号分隔的ID的更多相关文章

  1. [原创]SQL 表值函数:获取从今天计算起往前自定义天数

    PS:此博文是利用Windows Live Writer 2012编写,格式效果可能不太好. 在我开发过程中,遇到一个统计需求,结果是要求返回从当天起往回推算出自定义输入的天数 为此我写了一个表值函数 ...

  2. [原创]SQL表值函数:获取从当月计算起往前自定义月份数

      今天我现在发现看一篇博文不能够太长,只要能够描述清楚自己想表达的东西,能够让大家知道你要讲什么就行了.因为我今天看了一些长篇博文,真的觉得知识点太多了, 会让人囫囵吞枣. 这篇博文跟我昨天发表的类 ...

  3. sqlserver 表值函数

    一.单语句表值函数 ALTER function [dbo].[uf_get_jxc_da_sum](@dt char(8),@dt2 char(8)) RETURNS table as return ...

  4. sqlserver 表值函数与标量值函数

    除了在我们常用的程序开发中要用到函数外,在sql语句中也常用到函数,不论哪种,思想都没有变,都是为了封装,可复用. 创建的方法和整体结构都大体相同,都少不了函数名,函数的形参,返回值等这些. 一.表值 ...

  5. [原创]SQL表值函数:把用逗号分隔的字符串转换成表格数据

      我们日常开发过程中,非常常见的一种需求,把某一个用逗号或者/或者其他符号作为间隔的字符串分隔成一张表数据. 在前面我们介绍了 [原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式,当然按照这 ...

  6. SQL Server中使用表值函数

    函数有很多限制,不能使用动态语句,不能使用临时表等等...细看一下,直接写语句就行了,不用动态语句 insert into @re select id,parid,@I from videoclass ...

  7. SqlServer使用表值函数汇总

    先谈谈需求,我们先创建一张表,脚本如下: create table Cost ( Id ,) primary key,--编号 CostTime date,--时间 Num int--销售额 ); ' ...

  8. sqlserver中的表值函数和标量值函数

    顾名思义:表值函数返回的是表,而标量值函数可以返回基类型 一.表值函数 用户定义表值函数返回 table 数据类型.对于内联表值函数,没有函数主体:表是单个 SELECT 语句的结果集. 以下示例创建 ...

  9. 使用sqlserver日期函数获取当前日期

    使用sqlserver日期函数中的getdate()可以获取当现的日期,下面就将为您介绍这种使用sqlserver日期函数获取当前日期的方法,供您参考,希望对您学习sqlserver日期函数有所启迪. ...

随机推荐

  1. java中方法的重载和覆盖分别要满足的条件

    1.重载:遵循“两同三不同” 两同:同一个类中的同名方法 三不同:形参的类型,个数,顺序不同 特别提醒: 返回值不同构不能方法重载 形参名称不同构不成方法重载 2.覆盖(重写)的要求 子类方法的名称, ...

  2. 第15节_BLE协议GATT层

    学习资料:官方手册 Vol 3: Core System Package [Host volume] Part G: Generic Attribute Profile (GATT) 这篇文章格式比较 ...

  3. 201871010108-高文利《面向对象程序设计(java)》第四周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址> ht ...

  4. 循环控制语句if 、for、case、while

    if 循环控制(单分支与多分支) (1)单个判断(单分支循环): if [ 条件判断 ]; then 执行动作 fi if [ 条件判断 ]; then 执行动作 else 执行动作 fi 写入tes ...

  5. Push to origin/master was rejected

    在IDEA中往码云上传项目的时候出现了如下的错误:Push to origin/master was rejected 因为我是把代码上传到一个新的仓库里面,所以第一次提交的时候和仓库里面的东西不同步 ...

  6. Codeforces Round #609 (Div. 2) 题解

    Equation Modulo Equality Long Beautiful Integer Domino for Young K Integers Equation \[ Time Limit: ...

  7. 11/6 <bit manipulation>

    389. Find the Difference ^ (按位异或): 参加运算的两个数,如果两个相应位为“异”(值不同),则该位结果为1,否则为0. 抵消掉相同的位,剩下的就是多余的位. class ...

  8. Linux性能优化实战学习笔记:第三十七讲

    一.上节回顾 上一节,我带你一起学习了网络性能的评估方法.简单回顾一下,Linux 网络基于 TCP/IP协议栈构建,而在协议栈的不同层,我们所关注的网络性能也不尽相同. 在应用层,我们关注的是应用程 ...

  9. [LeetCode] 903. Valid Permutations for DI Sequence DI序列的有效排列

    We are given S, a length n string of characters from the set {'D', 'I'}. (These letters stand for &q ...

  10. [LeetCode] 650. 2 Keys Keyboard 两键的键盘

    Initially on a notepad only one character 'A' is present. You can perform two operations on this not ...