[pgsql-jp: 41938] Re: 「ISNULL」関数について

Shinichi Matsuda smatsudajp @ gmail.com
2017年 5月 2日 (火) 10:20:33 JST


松田と申します。

PGEConsの資料の間違いのようですね。
ここに書いてあることを実現するのは NULLIF 関数です。

ISNULL 関数は、例えばSQL-Serverにありますが、
PostgreSQLや標準SQLでそれに対応するのは
COALESCE関数(OracleならNVL)です。
ただ、ここでやりたいこととは違うようです。


2017-05-02 10:04 GMT+09:00 Karasawa Takuro <takuro.hf1 @ gmail.com>:
> 唐沢です。
>
> ご指摘ありがとうございます。
> PGEConsの下記資料に「ISNULL」関数についての記述がありました。
> https://www.pgecons.org/wp-content/uploads/PGECons/2013/WG2/09_SqlMigrationResearch.pdf#page=6
> 記載場所は、10Pのセクション「2.3.1. NULL と空文字列」です。
>
> こちらの文書に記述されている内容は実在しないということでしょうか。
>
>
> 2017年5月2日 9:50 TAKATSUKA Haruka <harukat @ postgresql.jp>:
>> こんにちは JPUG 高塚です。
>>
>> PGECons WG#2 の資料は膨大なので、もう少し場所を示していただくか、
>> 記述自体を引用いただくと、意見・回答を得やすいかと思います。
>>
>> Google検索すると「PGECons技術ドキュメントテンプレート」がヒットして、
>> そこに ISNULL 関数と書かれていますが、これは体裁を示すだけのもので
>> 文書の中身には意味がありません。
>>
>> PostgreSQL には ISNULL(xxx, xxx) 関数は存在しない、で合っています。
>>
>>
>> On Tue, 2 May 2017 08:56:21 +0900
>> Karasawa Takuro <takuro.hf1 @ gmail.com> wrote:
>>
>>> 2013年発表のPostgreSQL エンタープライズ・コンソーシアム 技術部会 WG#2 の資料に
>>> 「ISNULL」関数についての記述があるのですが、私の環境で実行してもSQLエラーが発生してしまいます。エラーの原因をご教授いただけないでしょうか。
>>>
>>> ■SQLエラーメッセージ
>>> 関数isnull(name, unknown)は存在しません
>>>
>>> ■実行環境
>>> OS:Windows Server 2012
>>> DB:PostgreSQL Ver9.6
>>


pgsql-jp メーリングリストの案内