手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >SqlServer 2005 中字符函数的应用
SqlServer 2005 中字符函数的应用
摘要:复制代码代码如下:USEDemoGO/*将表Code的列String中的值提取放到Record表中String中字符类型为dsddddd,2...

复制代码 代码如下:

USE Demo

GO

/*

将表Code的列String中的值提取放到Record表中

String 中字符类型为

dsddddd,2222222,222221,3

其中最后一位为标记对于Record表中的BiaoJi

前面的以','分割的是值对应Record表中Value

*/

GO

DROP PROC proc_split_Code

GO

CREATE PROC proc_split_Code

AS

BEGIN

SET NOCOUNT ON

DECLARE @Count INT --条数

DECLARE @Index INT --变量

SET @Index = 1 --默认

SELECT @Count = Count(*) FROM Code

--PRINT @Count

WHILE (@Index<=@Count)

BEGIN

DECLARE @BiaoJi INT -- 标记

DECLARE @String NVARCHAR(1000)--字符串

DECLARE @Temp INT --分隔符的位置

DECLARE @Star INT --开始位置

DECLARE @Code NVARCHAR(100) --

SET @Star = 0

SELECT @String=REVERSE(String)

FROM (

SELECT row_number() OVER(ORDER BY String) AS rownumber,* FROM Code

) AS a

WHERE rownumber between @Index and @Index

SET @Temp=CHARINDEX(',',@String,@Star)

SET @BiaoJi = SUBSTRING(@String,@Star,@Temp)

PRINT @BiaoJi

SET @String = REVERSE(@String)

SET @Temp=CHARINDEX(',',@String,@Star)

SET @Star = 0

WHILE(@Temp>0)

BEGIN

SET @Temp=CHARINDEX(',',@String,@Star)

--PRINT @Star

--PRINT @Temp

IF @Temp >0

BEGIN

SET @Code=SUBSTRING(@String,@Star,@Temp-@Star)

PRINT @Code

--插入到相应的表中

INSERT INTO Record(BiaoJi,Value,Time)

VALUES (@BiaoJi,@Code,getdate())

END

SET @Star=@Temp+1

END

--PRINT @Index

PRINT @String

SET @Index = @Index+1

END

END

GO

EXEC proc_split_Code

【SqlServer 2005 中字符函数的应用】相关文章:

SQLServer中的事务和锁

SQLServer和Oracle常用函数对比

例说SQLServer2008聚合函数

SQL Server 游标使用

Sql Server中的事务介绍

SQLServer2005 中的几个统计技巧

SqlServer 2005 T-SQL Query 学习笔记(1)

Sql Server中REPLACE函数的使用

SqlServer 分页存储过程

sqlserver2008根据日志还原数据库

精品推荐
分类导航