我将部门名称存储在变量departments
中,我现在将从该行获取该特定部门名称,我想知道create table dbo.departments
(
department_id int primary key;
department_name varchar(255);
)
if(select @finaldepartment_id = department_id
from dbo.departments
where department_name like @department)
set @department_flag = 1;
else
set @department_flag = 0;
表中是否存在部门ID用户输入的部门名称是否为有效部门。这该怎么做?如何将此查询转换为布尔表达式?
{{1}}
答案 0 :(得分:2)
可以简化为单个查询
SET @department_flag = CASE
WHEN EXISTS (SELECT 1
FROM dbo.departments
WHERE department_name LIKE Concat('%',@department,'%')) THEN 1
ELSE 0
END
答案 1 :(得分:1)
要检查是否有符合条件的部门使用EXISTS
IF EXISTS (
select 1
from dbo.departments
where department_name like '%'+@department+'%'
)
如果您需要将部门中的id分配给变量,请使用结果设置变量,然后检查它是否为空。