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