开发者

What is the easiest way to find a sql query returns a result or not?

Consider the following sql server query ,

 DECLARE @Table TABLE(
        Wages FLOAT
)

INSERT INTO @Table SELECT 20000 
INSERT INTO @Table SELECT 15000 
INSERT INTO @Table SELECT 10000
INSERT INTO @Table SELECT 45000
INSERT INTO @Table SELECT 50000

SELECT  *
FROM    (
            SELECT  *,
                    ROW_NUMBER() OVER(ORDER BY Wages DESC) RowID
            FROM    @Table 
        ) sub
WHERE   RowID = 3

The result of the query would be 20000 ..... Thats fine as of now i have to find the result of this query,

SELECT  *
FROM    (
            SELECT  *,
                    ROW_NUMBER() OVER(ORDER BY开发者_运维问答 Wages DESC) RowID
            FROM    @Table 
        ) sub
WHERE   RowID = 6

It will not give any result because there are only 5 rows in the table..... so now my question is

What is the easiest way to find a sql query returns a result or not?


Use @@ROWCOUNT > 0

So as a simple example,

SELECT  *
FROM    (
            SELECT  *,
                    ROW_NUMBER() OVER(ORDER BY Wages DESC) RowID
            FROM    @Table 
        ) sub
WHERE   RowID = 6

IF @@ROWCOUNT > 0 BEGIN
    RETURN 1
END
ELSE BEGIN
    RETURN 0
END

For more information, here's a link to the documentation.


Like this:

SELECT @@rowcount
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜