【发布时间】:2019-06-20 21:14:46
【问题描述】:
我在选择查询中有这个:
string_agg(CAST('(' || item.name || ', price:' || item.price || ')' AS text), ' ') as item_price,
有时价格为空,我希望它默认为'TBD'。有没有办法只做item.price OR "TBD" 之类的事情,或者以某种方式添加默认值而不向价格列添加默认值?
【问题讨论】:
-
为您的数据库查找 COALESCE 函数,正如您在标签中提到的几个。它返回第一个非空表达式,因此您可以使用 COALESCE(item.price, 'TBD') 代替 item.price。
-
@SQLRaptor 似乎不适用于 CAST,它似乎正在寻找项目上的“待定”列
-
这是错误的字符串分隔符问题。您使用的是什么 DBMS?
-
@SQLRaptor postgres
标签: mysql sql postgresql