gpt4 book ai didi

postgresql - Postgres : cast, 金钱和 NULL 值

转载 作者:行者123 更新时间:2023-11-29 13:57:29 25 4
gpt4 key购买 nike

在我的选择中,我使用它来将整数转换为货币形式。

CAST(mytable.discount AS money) AS Discount

但是如果连接(出于正当理由)无法带来可选值,我无法弄清楚如何避免“NULL”输出。

过去我这样做是为了避免 NULLS:

COALESCE(mytable.voucher,'----') AS Voucher

但我不知道如何为同一字段组合 CAST 和 COALESCE。我只希望我的折扣 NULL 字段为“----”

最佳答案

That's tricky, as the "mytable.discount AS money" converts NULLS to $0

实际上不是发生了什么,而是在那之后发生的隐式转换。

表达式必须具有特定类型。在本例中,它是 money。所以你看到 $0.00 作为我建议的表达式的结果,因为它是 ---- 被转换为 money,而不是 NULL.

作为解决方案,您可以将内部表达式显式转换为如下文本:

SELECT COALESCE(CAST('1' as money)::text, '--');

SELECT COALESCE(CAST(null as money)::text, '--');

SQLFiddle 演示:http://sqlfiddle.com/#!12/d41d8/2866

关于postgresql - Postgres : cast, 金钱和 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28707544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com