sql server case when高级用法自定义逻辑实现包

2025-03-13  本文已影响0人  吉凶以情迁

绝逼原创,不试不知道,试试发现可以这么玩,然后我就反复测试,发现返回字符串本身这个逻辑就会命中


create FUNCTION MatchReturnSearch
(
    -- Add the parameters for the function here
    @Search VARCHAR(100)='',@Content VARCHAR(100)='')
RETURNS VARCHAR(100)
AS
BEGIN
        IF CHARINDEX(@Search,@Content)>=1
        RETURN @Content


        RETURN ''

END
GO


纯case只能判断相等,我
自定义函数,然后包含就返回字符串本身否则返回不匹配的字符串或者为空这个逻辑就算大功告成了。 必须类型一样,不然也是会报错的

declare @Action varchar(100)='打开/Open'
 select  
 CASE @Action     

    WHEN dbo.MatchReturnSearch('打',@Action) THEN 'W' 
                                     ELSE @Action
                                         end
                         

        
image.png
上一篇 下一篇

猜你喜欢

热点阅读