2016-01-13 52 views
0

我也許有一個簡單的問題,但我完全被困住了。PostgreSQL:count = 0之後的返回信息

我有腳本

SELECT COALESCE(COUNT(id), 0) as MyFiels from table 

它工作正常,當我有零值就顯示爲0。

但我想這不是0,我可以看到一行=「沒有結果」的例。

我想:

SELECT COALESCE(to_char(COUNT(id), 'NO RESULT')) as MyFiels from table 

和PostgreSQL顯示錯誤消息:

ERROR: "E" is not supported 
SQL state: 0A000 

如果我不正確的?有任何想法嗎?

+0

以及你正試圖使一列回'INT'並返回'TEXT' –

+0

是的,我想將int轉換成文本並顯示消息 – mulrus

+0

也可以嘗試關閉右邊括號位置'to_char(COUNT(id))' –

回答

1

我看到了什麼是錯誤,你正嘗試使用coalesce將0轉換爲字符串,併合並將null轉換爲某物。你需要使用一個CASE

SELECT CASE WHEN COUNT(*) = 0 THEN 'NO RESULT' 
      ELSE CAST(COUNT(*) as TEXT) 
     END as field 
FROM Table 
+0

非常感謝。它確實有效,我花了很多時間來完成這項任務。 – mulrus