SQLを見てるとたまにWHERE句内で「(+)」と記載されているのを見かけることがあります。 この「(+)」はOracle独自で記載が可能となる外部結合演算子といって、「g.GOODS_CODE = gt.GOODS_CODE(+)」のよう …



SQLを見てるとたまにWHERE句内で「(+)」と記載されているのを見かけることがあります。 この「(+)」はOracle独自で記載が可能となる外部結合演算子といって、「g.GOODS_CODE = gt.GOODS_CODE(+)」のよう …

Oracleのインストール後にSQL*Plusなどでユーザー作成しようとした際、「ORA-65096」エラーが発生した場合の原因と対応方法についてメモしておきます。 「ORA-65096:共通ユーザーまたはロール名が無効です」の原因 ルート …

trimは通常、文字列の前後の半角スペースを削除して取得する場合に使用する場合が多いと思いますが、引数へLEADING、TRAILING、BOTHを指定することで任意の文字や文字列を削除して取得することが出来ます。 サンプルテーブル 「go …

SQLで大文字⇒小文字に変換する場合はLCASE関数 or LOWER関数、小文字⇒大文字へ変換するにはUCASE関数 or UPPER関数を使用します。DBMS毎で使用出来る関数が異なるので整理しておきます。 サンプルではPostgreS …

SQLで一部の文字列を取得するにはSUBSTR関数やLEFT関数、RIGHT関数を使用することで可能となります。DBMS毎に利用できる関数に違いがありOracleではLEFT関数、RIGHT関数は使用出来ません。 サンプルテーブル 「g …

SQLで文字列置換をするにはREPLACE関数を使用することで可能となります。類似の関数にTRANSLATE関数がありますが、こちらは文字列単位ではなく1文字ずつ文字単位で置換します。 ここではPostgreSQLでの実行サンプルをベースに …

SQLで文字列を結合(連結)して取得するためにはCONCAT関数やCONCAT_WS関数、文字列結合子「||」を使用することで可能となります。DBMS毎で微妙に違いはありますが、ここではPostgreSQLでの実行サンプルをベースに説明して …

SQLで複数のSELECTで問い合わせた結果を連結したいという場合は集合演算子関数と言われる「UNION」や「UNION ALL」演算子を使用することで取得可能となります。 イメージ図 UNIONは重複行を削除して取得するので「A & …

SQLでシステム日付を取得するにはMySQLやPostgreSQlとOracleでは少し異なるのでメモしておきます。 システム日付を取得するSQL:MySQL、PostgreSQL date型で取得、time型で取得、timestamp型で …

OracleでのTRUC関数と類似したものにPostgreSQLではDATE_TRUNC関数があります。 DATE_TRUNC関数は「DATE_TRUNC([‘精度’],[列名])」形式で指定する事で取得できます。 …