SELECT結果を固定の桁数で出力したい時はLPAD、RPADが使えます。 LPAD — 左0埋めで10桁出力する SELECT LPAD(‘123’, 10, ‘0’) FROM DUAL; LPAD(‘123’,1 […]
SQL
Oracle SQL、PL/SQLに関する記事になります。
2018年12月まではOracle11gXEを使用して検証しています。
2019年1月からはOracle12cを使用して検証しています。
INVALID
エラーが発生しているオブジェクトを抽出するサンプルSQLです。 STATUSがINVALID(無効)になっているオブジェクトは何かしらエラーが発生しています。 開発時によく使っているクエリです。不要なオブジェクトならDR […]
DEFINE
DEFINEを使うと、SQL内の特定文字列を定義した内容に置き換えてからSQLを実行することができます。 DEFINEのメリットはDEFINE定義を変更するだけでSQL自体を変更せずに済むので、保守性が向上するという点に […]
SUBSTRでLEFT、RIGHT、MIDを表現できる
SUBSTRの使い方を微妙に忘れてしまうのでメモしておきます。エクセル関数でいうところのLEFT、RIGHT、MIDを全てSUBSTRを使って実現できます。 SUBSTRサンプルSQL SELECT NAME , SUB […]
LISTAGG
LISTAGGを使って検索結果を横並びで出力させるサンプルです。 たま~にSQLの検索結果を横並びで出力したいことがあるので、シンプルなサンプルSQLをのせておきます。 通常の縦並びで検索結果を出力 — 部署毎、名前毎 […]
NVL、NVL2、CASE、SUBSTR
NVL、NVL2、CASE、SUBSTRですが、いつも使い方がわからなくなってネットで検索するのでメモしておきます。 NVL SELECT ID, NAME, NVL(NAME, ‘NULL’) FROM TB_SAMP […]
処理速度検証(MARGE)
PLSQLでテーブルにデータが存在しないことをチェックしてからINSERTを行うという処理を作っていたのですが、MERGEのNOT MATCHEDを使った方が体感的に処理速度が速いなと感じたので処理速度検証をしてみました […]
PLSQLテンプレート
ロジックを組み込んだ抽出処理や更新処理などを作成する場合、複雑なSQLを作成するよりも、PLSQLを使った方が直感的にわかりやすいロジックを作ることができます。 ただ、PLSQLの構文は記憶はしていないので、ここによく使 […]
expdpとimpdp
expdpとimpdpのサンプルコマンドです。 expdpはDBからバックアップ用のダンプファイルを作成します。 impdpはダンプファイルからオブジェクトを復元します。 スキーマを指定してexpdpとimpdp exp […]
SQLLOADER 最大長を超えています
SQLLOADERで桁数エラーとなる、よくあるパターンを紹介します。 SQLLOADERで255バイトを超えるデータを扱う場合、CTLファイルに桁数を定義していないと、「データファイルのフィールドが最大長を超えています」 […]
最近のコメント