gpt4 book ai didi

postgresql - 如何使函数在 postgreSQL 中使用 CASE 和 IFNULL?

转载 作者:行者123 更新时间:2023-11-29 12:44:37 24 4
gpt4 key购买 nike

你能告诉我如何在 postgre 中使用 CASE 和 IFNULL 吗?我正在从 sql 迁移到 postgreSQL,我想用这种语法创建一个函数:

SELECT a.furniture_id, a.furniture_brand, a.furniture_cost, 
CASE
WHEN furniture_id = f_id THEN a.furniture_content
ELSE ''
END CONTENT
FROM tb_furniture a
WHERE
(IFNULL(a.sale_id,0) = IFNULL(f_id,0) OR (a.furniture_id = f_Id AND IFNULL(a.furniture_content,'') > ''))
AND a.published = 1;

谢谢之前(y)

最佳答案

这似乎是你所追求的,但仔细检查 WHERE 条件:

SELECT a.furniture_id, a.furniture_brand, a.furniture_cost, 
CASE WHEN a.furniture_id = f_id
THEN a.furniture_content
ELSE ''
END AS content
FROM tb_furniture a
WHERE (coalesce(a.sale_id,0) = coalesce(f_id,0) OR length(content) > 0)
AND a.published = 1;

关于postgresql - 如何使函数在 postgreSQL 中使用 CASE 和 IFNULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31283052/

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