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程式大小 (轉)
請登入後發表評論
登入
全部評論
相關文章
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- SQL 分頁儲存過程SQL儲存過程
- JAVA儲存過程(轉)Java儲存過程
- Sql儲存過程分頁--臨時表儲存SQL儲存過程
- SQL server儲存過程函式SQLServer儲存過程函式
- SQL Server儲存過程的優缺點SQLServer儲存過程
- SQL SERVER儲存過程AS和GO的含義SQLServer儲存過程Go
- 【SQL Server】常見系統儲存過程SQLServer儲存過程
- SQL Server 2005的複製儲存過程選項BYSQLServer儲存過程
- MySQL儲存過程裡動態SQL的使用UXMySql儲存過程UX
- 使用儲存過程(PL/SQL)向資料庫中儲存BLOB物件儲存過程SQL資料庫物件
- oracle的儲存過程Oracle儲存過程
- PL/SQL中動態掉用儲存過程SQL儲存過程
- EF中使用SQL語句或儲存過程SQL儲存過程
- Ms Sql Server查詢儲存過程中的內容SQLServer儲存過程
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- SQL Server實戰六:T-SQL、遊標、儲存過程的操作SQLServer儲存過程
- 儲存過程與儲存函式儲存過程儲存函式
- SQLSERVER儲存過程SQLServer儲存過程
- 呼叫儲存過程儲存過程
- mysql 儲存過程MySql儲存過程
- unidac儲存過程儲存過程
- firedac儲存過程儲存過程
- Oracle儲存過程Oracle儲存過程
- SQL Server 資料訪問策略:儲存過程QCSQLServer儲存過程
- Sqlserver中的儲存過程SQLServer儲存過程
- Mysql 儲存過程的使用MySql儲存過程
- mssql 儲存過程呼叫另一個儲存過程中的結果的方法分享SQL儲存過程
- SQL Server實戰五:儲存過程與觸發器SQLServer儲存過程觸發器
- 儲存過程vs.動態SQL:如何選用?PV儲存過程SQL
- JdbcTemplate調儲存過程JDBC儲存過程
- 造數儲存過程儲存過程
- 儲存過程——遊標儲存過程
- 儲存過程 傳 datatable儲存過程
- MySQL之儲存過程MySql儲存過程
- MySQL---------儲存過程MySql儲存過程
- linux呼叫儲存過程Linux儲存過程
- Winform呼叫儲存過程ORM儲存過程
- mysql儲存過程整理MySql儲存過程