資源描述:
《mssqlserver字符串截取》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、MSSQLServer字符串截取>>教育資源庫(kù) 公司日志系統(tǒng)變態(tài),用戶操作url記錄在數(shù)據(jù)庫(kù)中,我需要從一條信息中找到參數(shù)pid的值,而pid參數(shù)后面是否有參數(shù)未知,無奈只好自己寫個(gè)函數(shù)處理?! ?shù)據(jù)庫(kù)是M$的SQL2005 Sql代碼 SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author:Sno(url nvarchar(max),param nvarchar(max))RETURNS nvarchar(max)ASB
2、EGINdeclare separator nvarchar(max),-- 分隔符base nvarchar(max),index intset separator=''-- 截取參數(shù)名開頭的字符串-- 'abc.do?pid=12124123x=5'-- 變?yōu)?- 'pid=12124123x=5'set base = substring(url,charindex(param,url,0),400)-- 替換掉參數(shù)頭set base = replace(base,(param+'='),'')
3、-- 'pid=12124123x=5'-- 變?yōu)?- '12124123x=5'-- 基于上述結(jié)果取得分隔符位置set index = charindex(separator,base,0)-- 當(dāng)分割符存在則替換符號(hào)開始的全部信息-- 當(dāng)分割符不存在則直接返回RETURN (case index when 0 then base else replace(base,substring(base,index,400),'') end)ENDGO 至于,這個(gè)字符串該有多大,400個(gè)字符應(yīng)該足夠用了。>>>>這篇文章來自..,。