MW211 EXIT

devlog
SQL/MAX()について
2012年08月07日
MAX()のあれこれ(たぶんMIN()も同様だと思う)。

数値型でも文字型でもOK。
○SELECT MAX(1);     → 1
○SELECT MAX('a');   → a
○SELECT MAX(NULL);  → NULL

ワイルドカード(*)は一律使えないみたい。
○SELECT MAX(z) FROM (SELECT 1 AS z) AS a;
×SELECT MAX(*) FROM (SELECT 1 AS z) AS a;
上記の場合、単一列なのにエラーとなった。


判定する行がない場合は、NULLとなる。
○SELECT MAX(z) FROM (SELECT 1 AS z WHERE FALSE) AS a;  → NULL

判定する列が全てNULLだった場合には、NULLとなる。
○SELECT MAX(z) FROM (SELECT NULL::numeric AS z) AS a;  → NULL
分類:SQL