postgresql 9.6で確認。 postgresqlの関数で、レコード型の変数を用意して、 そのレコード型変数自体を、IS NULLと、IS NOT NULLで判断したとき、 どうなるか調べてみた。 結果、以下のような判断となった。 ・IS NULLとした場合、レコードが持つ列すべてがNULLだったら真、それ以外だったら偽(1つでも値がNULLでなければ偽) ・IS NOT NULLとした場合、レコードが持つ列すべてが非NULLだったら真、それ以外だったら偽(1つでも値がNULLだったら偽) また、NULLのチェックをするときに、レコード型の変数自体がNULLだった場合、エラーが発生する。 レコード型が持っている列が確定していないと、チェックができない、ということらしい。 SELECT INTOで代入しようとしたとき、SELECTの結果が1行もない場合は、 レコード型変数の構造自体は