如何在SQL Server數(shù)據(jù)庫中拆分字符串函數(shù)_Mssql數(shù)據(jù)庫教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:淺談在SQL Server2005中進(jìn)行錯(cuò)誤捕捉任何程序都可能出現(xiàn)錯(cuò)誤,在SQL Server中執(zhí)行Transact-SQL也不例外。如果在Transact-SQL中發(fā)生了錯(cuò)誤,一般有兩種捕捉錯(cuò)誤的方法,一種是在客戶端代碼(如C#、Delphi等)中使用類似try
如何在SQL Server數(shù)據(jù)庫中拆分字符串函數(shù)呢?
具體方法如下:
| 以下為引用的內(nèi)容: CREATE FUNCTION uf_StrSplit '1.1.2.50','.' (@origStr varchar(7000), --待拆分的字符串 @markStr varchar(100)) --拆分標(biāo)記,如',' RETURNS @splittable table ( str_id varchar(4000) NOT NULL, --編號(hào)ID string varchar(2000) NOT NULL --拆分后的字符串 ) AS BEGIN declare @strlen int,@postion int,@start int,@sublen int, @TEMPstr varchar(200),@TEMPid int SELECT @strlen=LEN(@origStr),@start=1,@sublen=0,@postion=1, @TEMPstr='',@TEMPid=0 if(RIGHT(@origStr,1)<>@markStr ) begin set @origStr = @origStr @markStr end WHILE((@postion<=@strlen) and (@postion !=0)) BEGIN IF(CHARINDEX(@markStr,@origStr,@postion)!=0) BEGIN SET @sublen=CHARINDEX(@markStr,@origStr,@postion)-@postion; END ELSE BEGIN SET @sublen=@strlen-@postion 1; END IF(@postion<=@strlen) BEGIN SET @TEMPid=@TEMPid 1; SET @TEMPstr=SUBSTRING(@origStr,@postion,@sublen); INSERT INTO @splittable(str_id,string) values(@TEMPid,@TEMPstr) IF(CHARINDEX(@markStr,@origStr,@postion)!=0) BEGIN SET @postion=CHARINDEX(@markStr,@origStr,@postion) 1 END ELSE BEGIN SET @postion=@postion 1 END END END RETURN END |
例如:select * from uf_StrSplit('1,1,2,50',',')
輸出結(jié)果:
| 以下為引用的內(nèi)容: str_id string 1 1 2 1 3 2 4 50 |
分享:解析SQL Server 2000 SP4與數(shù)據(jù)鏈接池問題今天遠(yuǎn)程連接一臺(tái)xp sp2上的SQL,報(bào)錯(cuò)信息如下: 以下為引用的內(nèi)容: Timeout expired. The timeout period elapsed prior to obtaining
相關(guān)Mssql數(shù)據(jù)庫教程:
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
- 如何從子表里刪除數(shù)據(jù)
- SQL server 2008 數(shù)據(jù)安全(備份和恢復(fù)數(shù)據(jù)庫)
- 怎樣用SQL 2000 生成XML
- 謹(jǐn)記SQL Server索引管理的六大鐵律
- 詳解MySQL權(quán)限
- 揭秘常用經(jīng)典SQL語句
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- Win7 32/64位系統(tǒng)下安裝SQL2005和SP3補(bǔ)丁安裝教程[圖文]
- 關(guān)于sqlserver 2005 使用臨時(shí)表的問題( Invalid object name #temptb)
- SQL Server 2005中五個(gè)動(dòng)態(tài)管理對(duì)象
猜你也喜歡看這些
- MySQL筆記之?dāng)?shù)據(jù)備份與還原的使用詳解
- 解決bash: mysql: command not found 的方法
- mysql手動(dòng)刪除BINLOG的方法
- 服務(wù)器不支持 MySql 數(shù)據(jù)庫的解決方法
- 關(guān)于數(shù)據(jù)庫中保留小數(shù)位的問題
- MSSQL清空日志刪除日志文件
- 網(wǎng)站模板:如何捕獲和記錄SQL Server中發(fā)生的死鎖
- Mysql查看版本號(hào)的五種方式介紹
- 基于unique與primary約束的區(qū)別分析
- 深入探討:MySQL數(shù)據(jù)庫MyISAM與InnoDB存儲(chǔ)引擎的比較
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-如何在SQL Server數(shù)據(jù)庫中拆分字符串函數(shù)
。