読者です 読者をやめる 読者になる 読者になる

学習履歴

プログラミングなどの学習履歴

PostgreSQLでのwhereで絞り込みについて

PostgreSQLでwhere句におけるnullの扱いについて学習したことです。

 

以下where句の箇所のみ

 

where ACOLUMN = 'A' or ACOLUMN is null

⇒これはOKのケース

 

where ACOLUMN in ('A1', 'A2') or ACOLUMN is null

⇒機能しなかったケース

 

状況としてはあるカラムにはnullが入る場合があって、なおかつ

条件を絞り込む必要がありました。

「A」というのは例として使っていますが、Aという値で絞って、かつ、

nullも表示させる場合はうまくwhereが機能しましたが、

二つ目のケース、inで複数の値を指定してnullも表示させるということは

できませんでした。()の中にnullを入れるとエラーになります。

nullを表示させないのであればnot nullで絞り込めますが、

逆の場合は扱いが少しやっかいでした。