我有一個動態的sql語句,可能會也可能不會返回任何結果。爲了簡便起見:如果沒有結果返回null而不是沒有結果
--other SQL statements defining @a
DECLARE @sql varchar(128)
SELECT @sql = 'SELECT a, b FROM c WHERE a = ' + @a
EXEC(@sql)
我想要的結果,如果此語句返回任何但是如果EXEC(@sql)
不返回任何結果我怎麼能去使它回到一個null
呢?
我與MS SQLServer的2000
說明工作X-ZERO
這是在一個Web應用Ajax響應使用。我無法改變後端java框架,它需要查詢返回到webservice的某種結果集。
SOLUTION
如果任何人有這個問題,因爲它不是在答案完全清楚,這個工作:
--other SQL statements defining @a
DECLARE @sql varchar(128)
SELECT @sql = 'SELECT a, b FROM c WHERE a = ' + @a
EXEC(@sql)
IF @@ROWCOUNT = 0 SELECT null
所以,而不是結果表,你想要一個單一的字符串?我想你可以用'COALESCE()'做些事情,但是這讓我感到非常麻煩。 _你爲什麼做這個? –
@ X-Zero抱歉,沒有字符串我的意思是一個實際的'空'我會更清楚。我將在上面添加解釋。 – Geronimo
如果您將此作爲後端Web服務的一部分,是否可以檢查返回的行的查詢元信息,並從運行查詢的任何函數中返回null(我認爲@Barry建議這樣做,但我'米不確定)。 –