oracle Oracle CONNECT BY PRIOR句とLEVEL疑似列を使って階層表示 以下のようなTREE構造をテーブルで保持している時「階層(レベル)」を知りたくなる状況があります。これを「自力」で求めるのは大変ですが、connect by prior句とLEVEL疑似列を使う事で簡単に導出できます。 社員名(社員番号) ... 2024.02.23 oracle
oracle Oracle rownumとは ROENUM疑似列 rownum疑似列といいます。rowidと勘違いしそうですが、こちらはselectの結果セットに対し、1から順番に採番してくれる「疑似列」です。もっとも利用されている例の一つに、SELECTの結果件数を制限する事に使った... 2024.02.23 oracle
PostgreSQL PostgreSQL 日付の計算/時間の計算 100分後、100時間後 SELECT current_date,current_timestamp,CURRENT_TIMESTAMP + INTERVAL '100 minutes'; SELECT current_date,curre... 2024.02.19 PostgreSQL
PostgreSQL PostgreSQL 乱数作成 お手軽に英数字を使ったランダム文字列作成 MD5ハッシュは16進表現となるので、出力されるのは0-9、a-fの範囲内でのランダム文字です select substr(md5(random()::text || now()::text),1,... 2024.02.19 PostgreSQL
PostgreSQL PostgreSQL with句 with句自体の書き方はOracleと同じですが、PostgreSQL独自のVALUEリストと組み合わせて利用するとさらに便利に感じます。 VALUEリストと組み合わせた利用例 with wktbl as ( SELECT * FROM (... 2024.02.18 PostgreSQL
PostgreSQL PostgreSQL 文字列操作 quote_ident() 地味ですが有り難い関数です。たまに環境によっては、テーブル名やカラム名をダブルクォーテーションで囲まないとならない場合があります。例えば以下のようにテーブル名に日本語を使うようなケースです。このような時、inf... 2024.02.18 PostgreSQL
PostgreSQL PostgreSQL valueリスト PostgreSQLのVALUEリストがありがたいです。 VALUEリストの使用例 select * from ( values (1, '大嶋', 'oshima'), (2, '中嶋', 'nakajima'), (3, '小嶋', '... 2024.02.18 PostgreSQL
pg_catalog pg_stat_user_functions ファンクションの利用状況を調べる ユーザ作成したファンクションの実行統計情報(呼び出し回数と所要時間)を確認できます。現在のトランザクション中に呼び出されたものだけを確認するにはpg_stat_xact_user_functionsを使用するらしいのですが、こちらはいま一つ... 2024.02.12 pg_catalog
pg_catalog PostgreSQL 実行SQLの統計情報を取得する pg_stat_statements pg_stat_statements拡張モジュールをインストールする事で、サーバで実行されたすべてのSQL文のプラン生成時と実行時の統計情報を取得できるようになります。PostgreSQLにおいてSQL... 2024.02.12 pg_catalog
PostgreSQL PostgreSQL タイムゾーン タイムゾーンを確認する -- SQLで確認する select current_setting('timezone') as database_timezone; -- showコマンドで確認する show timezone; myposdb... 2024.02.05 PostgreSQL