SQL分隔字串的儲存過程 (轉)
SQL分隔字串的儲存過程 (轉)[@more@]
我在做一個專案時研究了查詢多個關鍵字的技術,這是其中用到的一個技術。
“分隔字串”過程的作用就是把“jiangjs,shenxy,cheng”類的字串隔開儲存到一個表中。
CREATE PROCEDURE [分隔字串]
(
@String NVARCHAR(1000), -- 要分隔的字串
@SPLITCHAR NVARCHAR(10) = ',', -- 分隔字元
@TableName NVARCHAR(50), -- 存入的表名稱
@FieldName NVARCHAR(50) = '[ID]' -- 存入的欄位名稱
)
AS
(
@String NVARCHAR(1000), -- 要分隔的字串
@SPLITCHAR NVARCHAR(10) = ',', -- 分隔字元
@TableName NVARCHAR(50), -- 存入的表名稱
@FieldName NVARCHAR(50) = '[ID]' -- 存入的欄位名稱
)
AS
-- 將字串分隔開放進表中
DECLARE @L INT -- 第一個分隔字元的位置
DECLARE @S INT -- 第二個分隔字元的位置
SET @L = 0
SET @S = CHARINDEX(@SPLITCHAR, @String, @L)
DECLARE @S INT -- 第二個分隔字元的位置
SET @L = 0
SET @S = CHARINDEX(@SPLITCHAR, @String, @L)
WHILE @L <= LEN(@String)
BEGIN
DECLARE @ID NVARCHAR(50)
BEGIN
DECLARE @ID NVARCHAR(50)
IF @S = 0 SET @S = LEN(@String) + 1 -- 如果到最後一個字串那麼第二個分隔字元的位置就是這個字串的長度加一
SET @ID = SUBSTRING(@String, @L, @S - @L) -- 取值
SET @L = @S + 1
SET @S = CHARINDEX(@SPLITCHAR, @String, @L)
SET @ID = SUBSTRING(@String, @L, @S - @L) -- 取值
SET @L = @S + 1
SET @S = CHARINDEX(@SPLITCHAR, @String, @L)
IF LTRIM(RTRIM(@ID)) = '' CONTINUE -- 如果是空字串就跳過
DECLARE @ NVARCHAR(1000)
SET @SQL = 'INSERT INTO ' + @TableName + ' ('+ @FieldName +') VALUES(''' + @ID + ''')'
EXEC sp_executesql @SQL
END
GO
SET @SQL = 'INSERT INTO ' + @TableName + ' ('+ @FieldName +') VALUES(''' + @ID + ''')'
EXEC sp_executesql @SQL
END
GO
----------
Not
Messenger : to:notking@.com">notking@hotmail.com
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-957524/,如需轉載,請註明出處,否則將追究法律責任。
下一篇:
最佳化J2ME程式大小 (轉)
請登入後發表評論
登入
全部評論
相關文章
- oracle儲存過程將引數字串分割sqlOracle儲存過程字串SQL
- 儲存過程中拼接字串儲存過程字串
- SQL儲存過程示例SQL儲存過程
- SQL Server 儲存過程SQLServer儲存過程
- 【SQL Server】--儲存過程SQLServer儲存過程
- 從sybase的儲存過程轉向oracle的儲存過程儲存過程Oracle
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- SQL Server 儲存過程的經典分頁(轉)SQLServer儲存過程
- SQL 分頁儲存過程SQL儲存過程
- MS SQL Server儲存過程SQLServer儲存過程
- Sql Server系列:儲存過程SQLServer儲存過程
- SQL 建立儲存過程PROCEDURESQL儲存過程
- 解密SQL SERVER儲存過程解密SQLServer儲存過程
- SQL儲存過程迴圈SQL儲存過程
- sql儲存過程分頁SQL儲存過程
- JAVA儲存過程(轉)Java儲存過程
- SQL Server 儲存過程的運用SQLServer儲存過程
- (SQL Server)分頁的儲存過程SQLServer儲存過程
- 在 SQL Server 的儲存過程中呼叫 Com 元件 (轉)SQLServer儲存過程元件
- MySQL儲存過程-->長字串扯分MySql儲存過程字串
- 兩種SQL分頁方法儲存過程和遊標儲存過程SQL儲存過程
- Sql儲存過程分頁--臨時表儲存SQL儲存過程
- sql 儲存過程命名規範SQL儲存過程
- Oracle Pl/SQL 之 儲存過程OracleSQL儲存過程
- PL/SQL 05 儲存過程 procedureSQL儲存過程
- SQL Server基礎:儲存過程SQLServer儲存過程
- sql server儲存過程語法SQLServer儲存過程
- SQL總結(五)儲存過程SQL儲存過程
- SQL Server儲存過程中raiserror的使用SQLServer儲存過程AIError
- 轉化某個字母字串為反向大小寫儲存過程字串儲存過程
- 小寫轉大寫金額儲存過程[SQL SERVER]儲存過程SQLServer
- Oracle SQL Developer Debug儲存過程OracleSQLDeveloper儲存過程
- SQL Server基礎之儲存過程SQLServer儲存過程
- oracle動態sql儲存過程示例OracleSQL儲存過程
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- 自動生成對錶進行插入和更新的儲存過程的儲存過程 (轉)儲存過程
- PL/SQL 中的儲存過程與函式SQL儲存過程函式
- SQL SERVER儲存過程AS和GO的含義SQLServer儲存過程Go