簡體   English   中英

WHEN 條件 postgresql 評估結果

[英]WHEN condition postgresql evaluate the result

我不明白為什么 when 條件會評估結果是否為 FALSE。

例如:

WHERE
    CASE
        WHEN false THEN lower(pmo.id_province) <> lower(dp.id_province)
        WHEN true THEN pmo.id_province <> dp.id_province 
    END;

這里postgresqll的消息:

錯誤:function lower(integer) does not exist LINE 8: WHEN false THEN lower(pmo.id_province) <> lower(dp.id_prov... ^ HINT: No function matches the given name and argument types. 你可能需要添加顯式類型轉換。SQL state:42883 字符:199

我知道較低的 function 接受文本 arguments,但我插入了 when 語句來避免這個問題,但不起作用。 如果條件為假,為什么 WHEN 會繞過條件?

它沒有執行,但在執行前失敗,當它試圖解析正在引用的函數時。 這發生在解析時,而不是在執行期間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM