CREATE FUNCTION [dbo].[fn_ParseDelimitedStrings](@String nvarchar(MAX), @Delimiter char(1))
RETURNS @Values TABLE
(
RowId int Not Null IDENTITY(1,1) PRIMARY KEY
,Value nvarchar(255) Not Null
)
AS
BEGIN
DECLARE @startPos smallint
,@endPos smallint
IF (RIGHT(@String, 1) != @Delimiter)
SET @String = @String + @Delimiter
SET @startPos = 1
SET @endPos = CharIndex(@Delimiter, @String)
WHILE @endPos > 0
BEGIN
INSERT @Values(Value)
SELECT LTRIM(RTRIM(SUBSTRING(@String, @startPos, @endPos - @startPos)))
-- remove the delimiter just used
SET @String = STUFF(@String, @endPos, 1, '')
-- move string pointer to next delimiter
SET @startPos = @endPos
SET @endPos = CHARINDEX(@Delimiter, @String)
END
RETURN
END
<!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin. http://dunnhq.com -->
This function can be used in sample stored procedure below.
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->CREATE PROCEDURE GetCustomers
@customerIDs AS nvarchar
AS
BEGIN
DECLARE @custIDs AS table (Value nvarchar(255) Not Null)
INSERT INTO @custIDs
SELECT Value FROM [fn_ParseDelimitedStrings](@customerIDs, ',')
SELECT * FROM Orders WHERE CustomerID IN (SELECT Value FROM @custIDs)
END
分享到:
相关推荐
SQLServer 中将一个字段的多个记录值合并到一行显示的实现方法 SQL Server 是一种关系型数据库管理系统,具有强大的数据处理能力和存储能力。在实际应用中,我们经常需要将一个字段的多个记录值合并到一行显示,以...
在TIA博途中,利用MAX和MIN数学函数可以轻松地找出一组变量中的最大值和最小值,这对于数据处理和分析非常有用。以下是如何在TIA博途中操作这些函数的详细步骤: 1. 首先,创建一个新的项目。在TIA博途软件中,选择...
以上就是关于“kettle8 模拟表输入查询表名,然后在另一个表输入中使用变量”的具体实现方法。这个功能对于处理多表数据源、动态数据加载等场景非常有用。通过熟练掌握变量的使用,你可以提高Kettle工作流的灵活性...
### 将DOS中的结果输出到变量中的方法 在Windows编程环境下,经常需要在C/C++应用程序中调用DOS命令来完成特定的任务。本文主要介绍如何通过`CreateProcess()`函数与管道技术相结合的方式,在VC++环境中执行DOS命令...
- 当多个请求同时到达Servlet时,Tomcat会从线程池中取出空闲线程分配给这些请求,使得每个请求都可以调用同一个Servlet实例的`service`方法。由于多个线程可能同时访问同一实例,因此必须确保Servlet代码是线程...
例如,一个存储过程内部的嵌套查询、循环或临时表使用,如果没有经过充分优化,可能成为性能瓶颈。 再者,存储过程的安全性和权限控制。存储过程可以限制对数据库资源的访问,只有授权的用户才能执行特定的存储过程...
数据集更新涉及到将一个数据集的内容合并到另一个数据集上,通常使用UPDATE过程,以其中一个数据集为基础,根据共享的键值(标识变量)将另一数据集的观测添加或更新到基础数据集中。 **四、数据集的更改** 数据集...
总结来说,易语言置入变量赋值是编程中最基本的操作,涉及到变量的声明、赋值、类型、作用域和生命周期等多个方面。理解并熟练掌握这些知识点,对于编写高效、清晰的易语言程序至关重要。通过实践和不断的练习,你...
在这个例子中,`@dateFR_p`, `@dateTO_p`, `@cp_p`, `@dept_p`, `@class_name_p`, `@positn_p`, `@salary_type_p`, 和 `@ftycard_p`都是输入参数,用于传递不同类型的值到存储过程中。参数类型包括日期(datetime)...
"防止多个地方调用相同一个过程"这个主题,主要涉及到程序设计中的模块化、重用性以及并发控制。这个问题的核心是避免重复代码(DRY,Don't Repeat Yourself)原则,以及在多线程或并发环境下如何避免冲突。 1. **...
ivar(实例变量)是Objective-C类中用于存储数据的私有变量,它们在对象生命周期内持有特定值。当需要管理多个按钮时,可能需要为每个按钮创建一个ivar来保存其状态,例如选中、未选中等。但是,过度使用ivar可能...
在Java中,可以通过`import static`语句来直接导入一个类中的静态成员(包括静态变量和静态方法)。这种方式可以避免重复输入类名,使得代码更加简洁易读。例如,在给定的代码片段中: ```java import static java....
3. 存储地址集合:在获取单个变量地址后,我们可以将这些地址放入一个数组或列表中,形成所谓的“地址集合”。例如,我们可以创建一个整型数组,然后使用循环结构将每个变量的地址存入数组的不同元素。 4. 遍历和...
当客户端发送Cookie到服务器时,这些值会被放入`$_COOKIE`数组中。例如,`$_COOKIE['username']`可获取名为'username'的Cookie值。 - **$_GET**:此数组包含了通过URL查询字符串传递的参数。例如,URL中的`?key=...
在这个例子中,`Static fact As Long`定义了一个静态变量`fact`,它会在每次调用`Factorial`子程序时保留上一次的值。这样,如果我们连续计算多个数字的阶乘,`fact`会存储上一次计算的结果,避免了重复计算,提高了...
标题 "允许您在富文本字段中轻松使用CraftGlobals作为变量" 涉及到的是一个特定的CMS(内容管理系统)开发中的功能增强。Craft CMS 是一个流行的内容管理系统,以其灵活性和强大的模板系统著称。Craft Globals 是 ...
通过对Lua中变量与赋值方法的学习,我们了解到Lua语言在变量处理上的灵活性和便捷性。掌握这些基础知识有助于更好地利用Lua进行高效编程。此外,Lua还支持诸如多返回值函数等高级特性,这些特性极大地增强了Lua程序...
在LabVIEW中,处理和显示数据的一个常见方式是将数据放入表格中。本教程将详细讲解如何在LabVIEW中实现这一操作。 首先,我们需要了解LabVIEW中的表格控件。表格控件是LabVIEW的一种UI元素,用于展示二维数据,类似...
### TIA博途中通过UDT实现IO地址映射到DB块中的具体方法 #### UDT简介与作用 在工业自动化领域,尤其是对于使用西门子PLC(Programmable Logic Controller)系统的工程师而言,理解并掌握如何利用统一数据类型...
本示例中,我们将探讨如何使用Matlab将图片像素化到Excel表格中,这是一个将数字图像与电子表格软件结合的有效方法。下面将详细介绍这个过程涉及的主要知识点。 首先,我们从【标题】"Matlab将图片像素化到Excel...