MSSQL - 无结果或NULL

时间:2014-09-30 09:16:23

标签: sql sql-server sql-server-2008-r2

我有点问题。

我从表中选择。我希望看到仅在我的工作流程的一个点上使用的值。在此之前没有任何价值。

但是,如果没有结果,那么我的结果"是NULL。这对我不利。

我的意思是,如果我写

SELECT myValue FROM myTable WHERE asd = 'thisIs'

当表格中myValueNULL时,我的结果为NULL。没关系。 如果没有找到结果,那么我的结果也是NULL。那不行。

如果没有结果我做了不同的功能。 我该如何分开这些?

   |MyValue|
---|-------|
 1 |NULL   |
---|-------|


   |MyValue|
---|-------|


   |MyValue|
---|-------|
 1 |Hello  |
---|-------|

在第一种和第三种情况下,我必须调用Update函数,在第二种情况下,我必须调用Insert函数。

但是我的SP在第一和第二种情况下发回的结果也是NULL。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

据我所知你想做这样的事情:

IF EXISTS (
SELECT myValue FROM myTable WHERE asd = 'thisIs'
) 
BEGIN
    SELECT myValue FROM myTable WHERE asd = 'thisIs'
END
ELSE 
BEGIN
    EXEC SomeOtherCode
END

答案 1 :(得分:0)

您可以计算选择记录查询后找到的行数。如果count大于或等于1,则必须运行更新查询,否则插入查询,因为所选记录为空。