繁体   English   中英

sql函数检查表的任一列中是否存在任何值

[英]sql function to check if either value exists in either column of a table

我是新手,这个sql函数有点困难。 我正在尝试在sql中创建一个函数,但它不起作用,它接受@A int和@B int的参数返回数据类型“bit”。 尝试检查表C和D中是否存在@A int或@B int。如果exists返回值1,否则返回0

这是我的代码

CREATE FUNCTION fn_exist(
@A int, @B int
)
RETURNS bit
as
begin

Declare @year int
    select @year as [year]
    case [YEAR] when @A in (C or D)
    or @B in (C and D)
    then 1 else 0
    from dbo.mytable
    return @year 

end

尝试这个:

Declare @value as bit

select @value =
case
    when exists(
      select 1
      from dbo.mytable
      where (@A = C OR @A = D) OR (@B = C OR @B = D)
    )
    then 1 else 0
end

return @value 

看看你的代码示例,我想你想要这样的东西:

DECLARE @value AS BIT
IF EXISTS(
   SELECT NULL
   FROM dbo.mytable
   WHERE (@A = C OR @A = D) OR (@B = C OR @B = D)
) 
   SET @value = CAST(1 As bit)
ELSE 
   SET @value = CAST(0 As bit)

RETURN @value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM