2011-04-27 62 views
1

如果執行SELECT COUNT(*) from ...,返回代碼爲,則返回0,那麼SQL的返回碼是什麼?是0還是100(找不到)?來自Select count(*)的SQL返回碼

謝謝。

+1

你問什麼dbms? – squillman 2011-04-27 19:37:23

+0

您是否在談論IBM DB2?如果是這樣,請相應標記。 – BoltClock 2011-04-27 19:42:22

+0

如果它是IBM DB2,它的價值是什麼?是100還是1? – San 2011-07-25 15:56:45

回答

0

零因爲沒有行。 100會和它有什麼關係?

請在我的答案看這裏太:Does COUNT(*) always return a result?

編輯:除非你的意思是DB2作爲別處指出...

+1

SQL返回碼(或SQLCODE)!= COUNT()的返回值 – BoltClock 2011-04-27 19:38:17

+0

@BoltClock,@squillman:返回碼爲零。正如我所說,100個與它有什麼關係?一般來說SQL中沒有「未找到」。你的意見幾乎和問題一樣糟糕...... – gbn 2011-04-27 19:40:52

+1

嗯,是的,因爲OP甚至沒有指定什麼DBMS ......我猜它是IBM DB2。請參閱http://en.wikipedia.org/wiki/DB2_SQL_return_codes – BoltClock 2011-04-27 19:44:53

2

總是返回1行1列(含行數,也就是計數(*)的價值),如果這是你問...

+0

SQL返回碼(或SQLCODE)!= COUNT()'結果集查詢 – BoltClock 2011-04-27 19:40:31

0

假設你在談論MS SQL Server,@@錯誤代碼將始終爲0,假設您查詢有效的表。 @@錯誤代碼描述了操作本身的成功,而不是結果的成功。

+0

返回碼只能由RETURN或內部錯誤設置。 SELECT COUNT沒有返回碼。你的意思是@@ ERROR? – gbn 2011-04-27 19:42:57

+0

@gbn是的,謝謝。修正了。 – squillman 2011-04-27 19:44:49