2014-09-30 89 views
0

我有一个小问题。MSSQL - 没有结果或NULL

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

但是,如果没有结果,那么我的“结果”是NULL。那对我不好。

我的意思是,如果我写

SELECT myValue FROM myTable WHERE asd = 'thisIs' 

myValue是表NULL,那么我的结果是NULL。没关系。 当没有找到结果时,那么我的结果也是NULL。那不好。

如果没有结果我做了不同的功能。 我怎样才能分开这些?

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


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


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

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

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

非常感谢您的帮助。

+0

您需要发布任何信息,否则无法提供帮助。 – DavidG 2014-09-30 09:19:28

+1

使用'IF EXISTS',然后你做你想要的'ELSE'一些不同的功能...... – Darka 2014-09-30 09:20:38

回答

1

据我了解你想要做这样的事情:

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

你可以指望选择记录查询后发现的行数。如果count大于或等于1,则必须运行更新查询,否则插入查询,因为所选记录为空。