1 USE [NC] 2 GO 3 /****** Object: UserDefinedFunction [dbo].[dict_url_channel] Script Date: 2019/5/25 16:40:17 ******/ 4 SET ANSI_NULLS ON 5 GO 6 SET QUOTED_IDENTIFIER ON 7 GO 8 ALTER function [dbo].[dict_url_channel] 9 ( 10 @url varchar(MAX) --传入参数 11 ) 12 returns varchar(50) --返回参数类型 13 as 14 begin 15 declare @channel nvarchar(50) --定义变量 16 declare @temp varchar(250) 17 declare @charindex int 18 declare key_url_cursor cursor local --定义游标 19 for select key_url from Information.dbo.url_to_渠道 order by seq --按照seq 遍历Information.dbo.url_to_渠道 20 open key_url_cursor --打开游标 21 fetch next from key_url_cursor into @temp ----获取key_cursor的下一条数据,其中为字段赋值@temp 22 while @@FETCH_STATUS = 0 23 begin 24 select @charindex = CHARINDEX(@temp,@url) --判断@temp是否在@url中 25 if @charindex > 0 26 begin 27 select @channel = value_渠道 from Information .dbo.url_to_渠道 where key_url = @temp; 28 break; 29 end 30 fetch next from key_url_cursor into @temp 31 end 32 close key_url_cursor --关闭游标 33 deallocate key_url_cursor --释放游标 34 if @channel is null 35 begin 36 select @channel=‘‘ 37 end 38 return @channel 39 end
原文地址:https://www.cnblogs.com/qianslup/p/10922929.html
时间: 2024-11-06 18:59:14