[解決済み] PostgreSQLのCASE ... 複数条件付きEND
2022-03-02 12:25:18
質問
以下は、私のテーブルの抜粋です。
gid | datepose | pvc
---------+----------------+------------
1 | 1961 | 01
2 | 1949 |
3 | 1990 | 02
1 | 1981 |
1 | | 03
1 | |
を使用してPVCカラムを埋めたい。
SELECT CASE
のようにします。
SELECT
gid,
CASE
WHEN (pvc IS NULL OR pvc = '') AND datpose < 1980) THEN '01'
WHEN (pvc IS NULL OR pvc = '') AND datpose >= 1980) THEN '02'
WHEN (pvc IS NULL OR pvc = '') AND (datpose IS NULL OR datpose = 0) THEN '03'
END AS pvc
FROM my_table ;
結果はソーステーブルと同じ内容で、何も起こらず、pg_logファイルにもエラーメッセージが表示されません。構文エラーか、WHEN句の中で複数の条件を使用した場合の問題でしょうか?
ヘルプとアドバイスありがとうございました
どのように解決するのですか?
このようなコードは、おそらくあなたのために動作するはずです。
SELECT
*,
CASE
WHEN (pvc IS NULL OR pvc = '') AND (datepose < 1980) THEN '01'
WHEN (pvc IS NULL OR pvc = '') AND (datepose >= 1980) THEN '02'
WHEN (pvc IS NULL OR pvc = '') AND (datepose IS NULL OR datepose = 0) THEN '03'
ELSE '00'
END AS modifiedpvc
FROM my_table;
gid | datepose | pvc | modifiedpvc
-----+----------+-----+-------------
1 | 1961 | 01 | 00
2 | 1949 | | 01
3 | 1990 | 02 | 00
1 | 1981 | | 02
1 | | 03 | 00
1 | | | 03
(6 rows)
関連
-
[解決済み] Postgresql - DBへの自動接続があるため、データベースを削除できない。
-
[解決済み] PostgreSQLの場合。PostgreSQLのテーブルを表示する
-
[解決済み] PostgreSQLの "DESCRIBE TABLE"
-
[解決済み] PostgreSQL コマンドラインユーティリティ: psql を終了する方法
-
[解決済み] PostgreSQLのユーザーパスワードを変更する方法を教えてください。
-
[解決済み] どのバージョンのPostgreSQLを使用していますか?
-
[解決済み] PostgreSQLからのPL/pgSQL出力をCSVファイルに保存する
-
[解決済み] PostgreSQLでデータベースのコピーを作成する
-
[解決済み】Mac OS XでPostgreSQLサーバーを起動するには?
-
[解決済み】PostgreSQLのエラーです。Fatal: ロール "username" が存在しません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Postgresql - DBへの自動接続があるため、データベースを削除できない。
-
[解決済み] Postgresの最大接続数を増やすには?
-
[解決済み】PostgreSQLスキーマのテーブルを一覧表示する。
-
[解決済み】コマンドラインを使ってpostgresのバックアップファイルをリストアする?
-
[解決済み】最後に挿入されたIDを取得するPostgreSQL関数
-
[解決済み】psqlを使用して、データベースにインストールされている拡張機能を一覧表示するにはどうすればよいですか?
-
[解決済み】データを失うことなく、PostgreSQLをバージョン9.6からバージョン10.1にアップグレードする方法は?[クローズド]
-
[解決済み】psql - コマンドの結果をファイルに保存する
-
[解決済み】Docker化したPostgresデータベースのデータをボリュームで永続化する方法
-
[解決済み】PostgreSQLでUTCの現在時刻をデフォルト値として使用する。