--根据给定的数据源值,和数据源描述,返回数据集
--数据源值和数据源描述是以一定方式组合的单一字符串
CREATE FUNCTION [dbo].[GetArrayDataSet](@sourceVal nvarchar(4000),@sourceValDescription varchar(8000),@spliter varchar(10))
returns @temp table(elementVal varchar(8000),elementDescription nvarchar(4000),orderNum int)
as
begin
declare @i int
declare @j int
declare @length int
set @length = 0
set @sourceVal = rtrim(ltrim(@sourceVal))
set @sourceValDescription = rtrim(ltrim(@sourceValDescription))
set @i = charindex(@spliter,@sourceVal)
set @j = charindex(@spliter,@sourceValDescription)
while @i >= 1 and @j >= 1
begin
set @length = @length + 1
insert @temp(elementVal,elementDescription,orderNum)
values(
left(@sourceVal,@i - 1),
left(@sourceValDescription,@j - 1),
@length
)
set @sourceVal = substring(@sourceVal,@i + 1,len(@sourceVal) - @i)
set @sourceValDescription = substring(@sourceValDescription,@j + 1,len(@sourceValDescription) - @j)
set @i = charindex(@spliter,@sourceVal)
set @j = charindex(@spliter,@sourceValDescription)
end
if @sourceVal <> '' and @sourceValDescription <> ''
begin
set @length = @length + 1
insert @temp values(@sourceVal,@sourceValDescription,@length)
end
return
end
GO
select * from GetArrayDataSet('受理$审核$审批','stateInit$stateCheck$stateBatch','$')
--结果集(以表的方式返回):
--elementVal elementDescription orderNum
--受理 stateInit 1
--审核 stateCheck 2
--审批 stateBatch 3
分享到:
相关推荐
在函数内定义一个字符数组,并使用gets函数输入字符串时,如果输入超出数组大小,会发生缓冲区溢出,这会导致未定义行为,可能会覆盖内存中的其他数据,包括程序的控制数据,这通常会导致程序崩溃。 快速排序算法是...
实例078 从字符串中分离文件路径、 文件名及扩展名 98 实例079 判断手机号的合法性 99 实例080 用字符串构建器追加字符 100 实例081 去掉字符串中的所有空格 101 实例082 汉字与区位码的转换 102 第5章 面向对象技术...
- **跨行查找字符串**:在字符串数组中查找目标字符串。 - **Trie树**:一种用于高效检索字符串的树形数据结构。 **8. 其他** - **主定理与复杂度**:用于分析算法的时间复杂度。 - **静态存储与动态存储**:静态...
实例035 从字符串中分离文件路径、文件名及扩展名 实例036 对字符串进行加密与解密 实例037 开发一个进制转换器 实例038 将字符串的每个字符进行颠倒输出 实例039 根据标点符号对字符串进行分行 实例040 将汉字转换...
实例035 从字符串中分离文件路径、文件名及扩展名 51 实例036 对字符串进行加密与解密 53 实例037 开发一个进制转换器 56 实例038 将字符串的每个字符进行颠倒输出 60 实例039 根据标点符号对字符串进行分行 61 实例...
假设有一个字符串数组,我们想要找出其中所有的非静态方法名,可以采用以下步骤: ```csharp MethodInfo[] methods = typeof(string).GetMethods(); var result = from m in methods where m.IsStatic != true ...
72 <br>0103 如何进行字节数组和字符串的相互转换 72 <br>0104 如何把一个按空格分割的字符串存储在一个ArrayList数组中 73 <br>4.2 获取字符串信息 73 <br>0105 如何获得一个字符串的长度 ...
- **关系运算符**:用于比较两个值。 - **if、switch选择结构**:根据条件选择执行不同的代码块。 - **for循环结构与程序调试技术** - **for循环**:一种常用的循环结构,用于重复执行一段代码多次。 - **程序...
`仅创建了一个字符串对象,因为字符串字面量在编译时会被优化成直接使用常量池中的实例。 5. **Abstract Class vs Interface**:抽象类可以包含部分实现(非抽象方法),而接口只包含签名(方法声明)。抽象类可以...