PostgreSQL NULL同士をイコールとして比較したい場合 - 130単位 この記事の続きです。 記事の最後で空白とNULLの比較について少し触れました。が、その方法はまだ調べてすらいなかったため、次回のネタにしようと考えていました。 そしたら、試すよりも前にトラックバック先で教えていただきました。ありがとうございます。 COALESCE関数 coalesce()を使ってNULLを空白に変換してから比較してみてはどうでしょうか。比較対象が文字列型であれば、 coalesce(a.pref, '') = coalesce(b.pref, '') のようになると思います。 IS NOT DISTINCT FROM - iakioの日記 - postgresqlグループ COALESCE関数は、引数の中でNULLでない最初の値を返すものみたいです。これを用いることによって、イコール演算子で
coalesceとは何か? coalesce は、与えられた引数のうち、NULLでない最初の引数を返してくれます。データを表示する目的で取り出すシチュエーションなどで、NULL値の代わりにデフォルト値を使っている場合に便利です。CASE や NULLIF などを用いても同様の効果が得られますが、coalesce() を使えば、より完結に記述することができます。といっても実際に使ってみないとイメージがわかないと思いますので、以下、実験してみます。 coalesce実験用テーブル・レコード 以下のようなテーブル・レコードを用意しました。
2.6. テーブルの変更 テーブルの作成後に間違いに気付いたり、あるいはアプリケーションの要件が変わったりした場合には、テーブルをいったんドロップして再度作成することができます。 しかし、テーブルにデータを入力済みの場合、あるいはそのテーブルが他のデータベースオブジェクト (たとえば外部キー制約) によって参照されている場合、これは良い方法ではありません。 そのため、PostgreSQL では既存のテーブルに変更を加えるための一連のコマンドが用意されています。 次のことができます。 列の追加 列の削除 制約の追加 制約の削除 デフォルト値の変更 列名の変更 テーブル名の変更 これらのアクションはすべて ALTER TABLE コマンドを使用して行うことができます。 2.6.1. 列の追加 列を追加するには、次のコマンドを使用します。 ALTER TABLE products ADD COL
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く