以前看過別人寫的,但是實在記不起來是怎麼寫的了,今天自己寫了乙個,在這裡標記一下
--定義須查詢的字串
declare @querystring nvarchar(1000)
--定義迴圈內擷取出來的子字串,如有字串'abc,123,中國,',迴圈內第一次擷取@temp='abd',第二次@temp='123',第三次@temp='中國'
declare @temp varchar(32)
--定義分隔符','的位置
declare @pos int
--定義擷取出來的子字串的長度
declare @len int
set @querystring='abc,123,中國,'
--charindex(分隔符,被查詢的字串,查詢起始位置),這裡是取分隔符','出現的位置
set @pos=charindex(',',@querystring,0)
while(@pos>0)
begin
--substring(被查詢的字串,起始位置,截止位置),根據分隔符的位置擷取字串
set @temp=substring(@querystring,0,@pos)
--len(子字串),取得子字串的長度
set @len=len(@temp)
--下面只是把分隔符之間的字串依次輸出,可替換成你自己的操作
select @temp
--stuff(被查詢的字串,起始位置,截止位置),把子字串從被查詢的字串中去除,第一次迴圈時把'abc,'從'abc,123,中國,'去除,這時querystring就是'123,中國,'了
set @querystring=stuff(@querystring,1,@len+1,'')
--下面是控制迴圈的條件
set @pos=charindex(',',@querystring,0)
end
--定義須查詢的字串 declare @querystring nvarchar(1000) --定義迴圈內擷取出來的子字串,如有字串'abc,123,中國,',迴圈內第一次擷取@temp='abd',第二次@temp='123',第三次@temp='中國' declare @temp varchar(32) --定義分隔符','的位置 declare @pos int --定義擷取出來的子字串的長度 declare @len int set @querystring='abc,123,中國,' --charindex(分隔符,被查詢的字串,查詢起始位置),這裡是取分隔符','出現的位置 set @pos=charindex(',',@querystring,0) while(@pos>0) begin --substring(被查詢的字串,起始位置,截止位置),根據分隔符的位置擷取字串 set @temp=substring(@querystring,0,@pos) --len(子字串),取得子字串的長度 set @len=len(@temp) --下面只是把分隔符之間的字串依次輸出,可替換成你自己的操作 select @temp --stuff(被查詢的字串,起始位置,截止位置),把子字串從被查詢的字串中去除,第一次迴圈時把'abc,'從'abc,123,中國,'去除,這時querystring就是'123,中國,'了 set @querystring=stuff(@querystring,1,@len+1,'') --下面是控制迴圈的條件 set @pos=charindex(',',@querystring,0) end
SQL Server2005擷取字串並操作
以前看過別人寫的,但是實在記不起來是怎麼寫的了,今天自己寫了乙個,在這裡標記一下 定義須查詢的字串 declare querystring nvarchar 1000 定義迴圈內擷取出來的子字串,如有字串 abc,123,中國,迴圈內第一次擷取 temp abd 第二次 temp 123 第三次 t...
SQL Server2005複製實現
一 準備工作 1 在發布伺服器上建立乙個共享目錄,作為發布快照檔案的存放目錄。例如 在d 盤根目錄下建資料夾名為pub 2 設定sql 發布伺服器和訂閱伺服器均設定 步驟 開啟服務 控制面板 管理工具 服務 右擊sqlserver agent 屬性 登入 選擇 此帳戶 輸入或選擇第一步中建立的win...
SQL Server 2005完全解除安裝
sql server 2005的解除安裝是乙個非常頭疼的問題。我曾經嘗試過直接使用 新增或刪除程式 工具解除安裝 清除安裝目錄 刪除登錄檔內容等等各種方式綜合解除安裝,勉強成功。現在終於找到了乙個事半功倍的方法,多次嘗試,未有失敗,具體如下 第一種是微軟官方提供的工具 msicuu2.exe 微軟官...