[英]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.