postgresql中條件表達式 coalesce、nullif 、greatest、least


一、postgresql中條件表達式

1.1 GREATEST和LEAST
GREATEST(value [, ...])

LEAST(value [, ...])
# 注意比較值得類型一定要相同

案例:比較time1,time2, time3 三個時間大小

GREATEST和LEAST函數從一個任意的數字表達式列表里選取最大或者最小的數值。 這些表達式必須都可以轉換成一個普通的數據類型,它將會是結果類型 (http://www.postgres.cn/docs/9.6/typeconv-union-case.html)。列表中的 NULL 數值將被忽略。只有所有表達式的結果都是 NULL 的時候,結果才會是 NULL。

請注意GREATEST和LEAST都不是 SQL 標准,但卻是很常見的擴展。某些其他數據庫讓它們在任何參數為 NULL 時返回 NULL,而不是在所有參數都為 NULL 時才返回 NULL。

1.2 nullif
NULLIF(value1, value2)
當value1和value2相等時,NULLIF返回一個空值。 否則它返回value1。

1.3 COALESCE
COALESCE(value [, ...])
COALESCE函數返回它的第一個非空參數的值。當且僅當所有參數都為空時才會返回空。它常用於在為顯示目的檢索數據時用缺省值替換空值

1.4 case
SQL CASE表達式是一種通用的條件表達式,類似於其它編程語言中的 if/else 語句。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM