SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
create FUNCTION dbo.fun_sys_GetTableBySplit --返回表
(
@str varchar(8000), --字符串 如: ",1,2,3,"
@splitstr nvarchar(10) --分隔符 如: ","
)
RETURNS @retTables TABLE
(
No int,
MyName nvarchar(50)
)
AS
BEGIN
declare @i int, @j int,@count int,@splitstrlen int
set @i=1
set @j=1
set @count=1
set @splitstrlen=len(@splitstr)
if left(@str,len(@splitstr))!=@splitstr
set @str= substring(@str,CHARINDEX(@splitstr,@str,@i+@splitstrlen),len(@str)-CHARINDEX(@splitstr,@str,@i+@splitstrlen)+1)
while(@i>0)
begin
set @j=@i+@splitstrlen;
set @i=CHARINDEX(@splitstr,@str,@i+@splitstrlen)
if(@i-@j>=0)
begin
insert @retTables values(@count,substring(@str,@j,@i-@j))
set @count=@count+1
end
end
RETURN
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE OR REPLACE FUNCTION rowtocol( p_slct IN VARCHAR2,
p_dlmtr IN VARCHAR2 DEFAULT ', ' ) RETURN VARCHAR2
AUTHID CURRENT_USER AS
TYPE c_refcur IS REF CURSOR;
lc_str VARCHAR2(4000);
lc_colval VARCHAR2(4000);
c_dummy c_refcur;
l number;
BEGIN
OPEN c_dummy FOR p_slct;
LOOP
FETCH c_dummy INTO lc_colval;
EXIT WHEN c_dummy%NOTFOUND;
lc_str := lc_str || p_dlmtr || lc_colval;
END LOOP;
CLOSE c_dummy;
RETURN SUBSTR(lc_str,2);
EXCEPTION
WHEN OTHERS THEN
lc_str := SQLERRM;
IF c_dummy%ISOPEN THEN
CLOSE c_dummy;
END IF;
RETURN lc_str;
END;
分享到:
相关推荐
OpenCV是一个功能强大且广泛应用的计算机视觉库,它提供了许多有用的函数来处理图像和视频。imwrite函数是OpenCV中一个重要的函数,用于将图像写入到文件中。在本文中,我们将详细地介绍OpenCV中imwrite函数的源代码...
在MATLAB编程环境中,`modmap`函数是一个用于模数映射的操作,它在早期的版本中被广泛使用。然而,根据提供的标题和描述,从2012版开始,MATLAB似乎已经不再支持`modmap`函数。这可能是由于功能的合并、更新或替代,...
Delphi函数通常定义在一个单元(Unit)中,如`uCustomModule.pas`,并可以被其他单元引用,实现代码重用和模块化。 1. **函数定义** 在Delphi中,函数定义的基本格式如下: ```delphi function FunctionName...
这是一个数学函数,用于判断一个整数是否为素数。素数是指只能被1和自身整除的大于1的自然数。该函数通过从2到该数的平方根范围内进行遍历检查,如果找到任何可以整除该数的数,则该数不是素数。这个函数在加密算法...
函数指针就是一个指向函数的指针,它存储了函数在内存中的地址。通过函数指针,我们可以在运行时动态地调用不同的函数,这在处理回调函数、算法比较或实现多态性时特别有用。例如,我们可以定义一个函数指针类型,...
1. 创建项目:首先创建一个新的Keil C51项目,比如名为"Demo",并将包含需要定位的函数(如ReadIAP、ProgramIAP和EraseIAP)的源代码文件(如"Demo.C")添加到项目中。 2. 编译和查看链接信息:编译项目后,打开...
在C++编程语言中,函数嵌套是一种特性,允许在一个函数内部定义另一个函数。这种机制在某些情况下可以提高代码的组织性和可读性,尤其是在处理复杂的局部任务时。本篇文章将深入探讨VC(Visual C++)环境下实现函数...
这种功能对于多文件项目或单个大文件尤其有用,因为它避免了在代码海洋中寻找特定函数的繁琐过程。通过这个插件,用户可以在侧边栏看到一个列表,列出当前文件中的所有函数和方法,通常包括它们的名称、行号和简短的...
在C++库中,你需要定义一个函数原型,该函数接受一个指向回调函数的指针。例如: ```cpp extern "C" __declspec(dllexport) void CallBackFunction(void (*callback)(int)); ``` `CallBackFunction`接受一个类型为...
例如,一个行函数可能会返回一个包含多列的记录,而表函数则能返回一个完整的结果集,可以像查询表一样进行处理。 在实际应用中,自定义函数可以极大地增强数据库查询的灵活性和功能性。例如,可以创建一个函数来...
本文将深入探讨如何使用一个装饰器来跟踪Python函数执行的本地上下文,这对于调试、日志记录、性能分析等场景非常有用。 首先,让我们了解什么是装饰器。在Python中,装饰器本质上是一个接收函数作为参数并返回新...
这个函数主要用于简单的错误提示或信息输出,通过`echo`直接在页面上显示一个JavaScript弹窗。在实际项目中,通常会用更规范的方式如记录日志或使用模板引擎来处理这类情况。 2. `dhtmlspecialchars($string)`: ...
当函数不是全局函数时,我们可以将函数存储在一个对象中,之后通过对象的属性名来动态访问和执行函数。这种方式为函数调用提供了更灵活的组织结构。示例代码如下: ```javascript var myFunctions = { ...
3. **闭包**:闭包是JavaScript中的一个关键特性,它允许函数访问并操作其词法作用域内的变量,即使该函数在其外部被调用。闭包常用于实现私有变量和模块化。 4. **柯里化(Currying)**:柯里化是将接受多个参数的...
与前一个函数类似,但针对不同结构的字符串,提供了更多的灵活性和适用性,确保从各种数据源中准确提取数值信息。 #### 6. 按SplitType取得RangeName串值中的起始位置 该函数通过特定的分割类型来确定字符串中某个...
在压缩包子文件的文件名称列表中,我们看到一个名为“dllexp”的文件。这可能是工具的主执行文件,或者是一个包含工具的安装程序。通常,这样的工具会有一个图形用户界面,用户只需打开这个文件,然后按照指示操作...
在实施OpenCL项目时,开发者应当仔细阅读规范文档,理解各种内建函数的使用方法和限制,并且在项目中正确地应用这些知识。这将确保开发的程序不仅能够在不同硬件上良好运行,也能够在保持代码质量的同时发挥出硬件的...
当函数定义中的输入参数列表以`varargin`结束时,所有超出函数定义中显式声明的参数都将被封装在一个名为`varargin`的单元数组(cell array)中传递给该函数。这意味着用户可以在调用函数时传递任意多个参数,而这些...
总的来说,这个"收集的javascript 和php 有用的小函数库"是一个宝贵的资源,它包含了开发者在实践中总结出的实用代码片段。无论是JavaScript还是PHP,掌握和理解这些函数库能帮助开发者更高效地完成任务,提高生产力...