簡體   English   中英

SELECT * 不返回任何行,但 SELECT Count(*) 返回非零值

[英]SELECT * Returns no rows but, SELECT Count(*) returns non zero value

我運行以下查詢:

a. select * from TABLE_TEMP

查詢已成功執行,但未返回任何行。 返回的數據集為空且包含 0 行。 該查詢的執行計划可以從以下網址下載: Execution Plan Query a

b. select count(*) from TABLE_TEMP

該查詢也執行成功,但它返回一些有限值該查詢的執行計划可以從以下位置下載: Execution Plan Query b

你能給我任何解決這個問題的建議嗎?

PFB截圖:奇怪的行為

您的數據庫中可能存在某種損壞。 熟悉文檔后運行DBCC CHECKDB (或DBCC CHECKTABLE )。 特別是關於數據庫兼容性級別的索引檢查部分以及:

在 SQL 服務器的早期版本中,每個表和每個索引的行數和頁數的值可能會變得不正確。 在某些情況下,這些值中的一個或多個甚至可能變為負數。 在 SQL Server 2005 及更高版本中,這些值始終保持正確。 因此,在 SQL Server 2005 及更高版本上創建的數據庫不應包含不正確的計數; 但是,升級到 SQL Server 2005 及更高版本的數據庫可能。

Count 是 Function in SQL 它返回 Int 值,即受影響的記錄數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM