Sql Server 自定义标量值函数 获取URL请求参数
sql 中获取RUL中指定的参数的值
http://www.hztech.com/aaa.aspx?ab=1&bc=2&ac=3
获取 1,2,3
使用方法:
[dbo].[GetURLPara]('ab=1&bc=2&ac=3','bc')
CREATE FUNCTION [dbo].[GetURLPara] ( @String nvarchar(max), --要分割URL请求参数列表 a=1&b=2&c=3 @uriKey nvarchar(50) --要取的参数key 如上的: a,b,c ) returns nvarchar(1024) as begin declare @FlagBetKV nvarchar(10) declare @split nvarchar(10) --多个kev-value之间的分隔符 set @FlagBetKV='='--key 与 value之间 分隔符 declare @key nvarchar(200) declare @value nvarchar(200) declare @keyvalue nvarchar(200) declare @location int declare @start int declare @next int declare @seed int set @start=1 set @split='&'-- set @String=ltrim(rtrim(@split+@String+@split)) set @seed=len(@split) set @key=@split+@uriKey+@FlagBetKV--key 定位用的KEY set @start=charindex(@key,@String) set @start=@start+@seed if @start>=1 begin set @location=charindex(@split,@String,@start+1) set @keyvalue=substring(@String,@start,@location-@start) set @value= dbo.GetSplitOfIndex(@keyvalue,@FlagBetKV,2) end else begin set @value='' end return @value end