我可能有一个简单的问题,但我完全被卡住了。
我有脚本
SELECT COALESCE(COUNT(id), 0) as MyFiels from table
它运行良好,当我的值为零时,它显示为0。
但我希望看到的不是0,而是一行="NO RESULTS"。
我试过了:
SELECT COALESCE(to_char(COUNT(id), 'NO RESULT')) as MyFiels from table
PostgreSQL显示错误消息:
ERROR: "E" is not supported
SQL state: 0A000
我哪里不正确?有什么想法吗?
我知道错误是什么了,您正试图使用coalize将0转换为字符串,并将null转换为某种东西。您需要使用CASE
SELECT CASE WHEN COUNT(*) = 0 THEN 'NO RESULT'
ELSE CAST(COUNT(*) as TEXT)
END as field
FROM Table