Sql case stetement检查现有记录并取一个

时间:2015-10-18 13:27:18

标签: sql-server-2008-r2 case

我有两个参数X和Y

这些的规则是只有一个可以为空。它们都可以存在,没关系,但它们都不能为空。

我正在使用它来检查它们是否存在于数据库中,这样我就可以分配一个,其余的SP可以继续插入。

SELECT @Id=id FROM Table WHERE (No = @x) OR (No = @y)

我要添加的是,如果它们都存在,我希望Id为@x的Id。

我无法在脑海中得到案例陈述。通常这不是一件容易的事,但不知怎的,我设法陷入困境。

1 个答案:

答案 0 :(得分:2)

ISNULL()将获取它找到的第一个非null值。

SELECT @Id=id FROM Table WHERE No = ISNULL(@x, @y)