管理者 のすべての投稿

Oracle:事前構成済の表領域

Oracleではデータベースを作成すると自動的に以下の表領域が作成されます。

事前構成済の表領域

 

表領域説明
SYSTEMOracleサーバーがデータベースを管理するために使用する表領域
SYSAUXSYSTEM表領域の補助表領域
TEMPデータベースのデフォルトの一時表領域
UNDOTBS1UNDO表領域
USERS永続表領域
SYSやSYSTEMユーザー以外のユーザー用のデフォルト表領域
EXAMPLEデータベース作成時に「サンプル・スキーマの作成」を指定すると作成される表領域
 

SQL:単語の先頭1文字目のみ大文字へ変更する方法

SQLで単語の先頭1文字目のみ小文字から大文字へ変更したい場合は、INITCAP関数を使用することで可能となります。引数に変換したい文字を指定すればOKです。単語の区切りはスペースかアルファベット以外の文字(ハイフン「-」、カンマ「,」、アンダースコア「-」など)を区切り文字として見做して変換されます。

DBMS毎の使用可否

  • 一般的な以下のDBMSではINITCAP関数は使用可能です。

サンプルテーブル

  • 「GOODS」テーブル

INITCAP関数の使用例

SQL(クエリー)

実行結果

  • 以下のように区切り文字の単語別に先頭文字が大文字に変換されているのが確認出来ます。

 

Eclipse:スネークケース ⇔ キャメルケース変換方法

Eclipseでコーディングしている際、スネークケースとキャメルケースの切り替えはショートカットキーを利用することで簡単に実施出来ます。ローカル変数などを定義する際に結構便利な機能となります。

Eclipseのバージョンによっては使用出来ない可能性もあるのでご注意下さい。

環境

  • Eclipse:ver 4.7.3

スネークケースとキャメルケースの切り替え方法

  1. 変換したい変数名やメソッド名を選択し「Ctrl + Alt + k」押下でスネークケース⇔キャメルケースの変更を実施
    ※右クリック⇒「変換」⇒「キャメル <-> アンダースコアー」を選択でも変換可能です
  2. スネークケースに変換する場合は「Ctrl + Shift + x」or「Ctrl + Alt + u」で大文字に変更すれば定数名を指定する際に便利です。
    ※右クリック⇒「変換」⇒「大文字に変更」を選択でも変換可能です

Oracle:データベースの起動段階と状態について

Oracleデータベースを起動すると内部的に以下の段階でデータベースが使用可能な状態となります。

データベースの起動段階と状態

 

段階ステータス状態
1SHUTDOWNデータベースが停止している状態
2NOMOUNTインスタンスが起動している状態
※制御ファイル、データファイル、REDOログファイルはクローズ
3MOUNTインスタンスが起動し、制御ファイルがオープンしている状態
※データファイル、REDOログファイルはクローズ
4OPENインスタンスが起動し、制御ファイル、データファイル、REDOログ・ファイルもオープンしている状態
※一般ユーザーが使用可能な状態
 

SQL:指定した日付(該当月)の月末日を取得する方法

SQLで指定した日付項目(該当年月)の月末日を取得するには「LAST_DAY」関数を使用します。うるう年でも正確な月の最終日を取得出来ます。

DBMS毎の使用可否

  • SQL Serverでは「EOMONTH」関数で最終日付を取得出来ます。
    関数\DBMSMySQLPostgreSQLSQL ServerOracle
    LAST_DAY
    EOMONTH

日付(該当月)の最終日を取得する例

サンプルテーブル「BIRTHDAY」

SQL(クエリー)

  • BIRTHDAYテーブルの項目「BIRTHDAY」の最終日を取得する例となります。

実行結果

Oracle:制約の種類

Oracleデータベースでは以下の制約を設定することが出来ます。

Oracle DB:制約の種類

制約説明
NOT NULL制約NULL値の設定を許可しない
UNIQE制約
(一意キー制約)
一意の値のみ許可します。複数レコード登録時、重複する値を許可しません。NULL値は許可します。
CHECK制約指定した条件の値のみ許可します。
PRIMARY KEY制約
(主キー制約)
一意の値のみ許可し、重複する値は許可しません。NULL値も許可しません。
FOREIGN KEY制約
(外部キー制約)
指定した親テーブルに存在する値のみ許可します。
 

制約のポイント

  • 制約はCREATE TABLE または ALTER TABLEで設定出来ます。
  • 制約設定の構文には列制約構文と表制約構文の2種類あります。
  • NOT NULL制約は列制約構文でのみ設定出来ます。

制約の設定例

  • 下記例のNOT NULL制約の設定箇所が列制約構文、UNIQUE制約の設定箇所が表制約構文となります。

 

Excel:図形(オブジェクト・オートシェイブ)内の文字列を検索する方法

Excelで図形(オブジェクト・オートシェイブ)内の文字列を検索すると通常は以下の様に検索結果にヒットせず「検索対象が見つかりません。…」と表示されます。

今回は「Relax Tools AddIn」というアドインを導入して図形内の文字列を検索可能とする手順を説明します。

アドイン「Relax Tools AddIn」のダウンロード

Excelで図形内の文字列を検索する手順

  1. 「オプション」を選択します。
  2. 「アドイン」⇒「設定」ボタンを選択します。
  3. 「参照」ボタンを選択します。
  4. ダウンロードしたファイル内にある「RelaxTools.xlam」を選択します。
  5. 以下の様に「RelaxTools AddIn」が追加されていることを確認します。
  6. 追加された「RelaxTools」タブの「検索/置換/装飾」⇒「セル・シェイブの正規表現検索」を選択します。
  7. 検索ボックスで検索を実施すると以下の様に図形内の文字列も検索結果として表示されているのが確認出来ます。

Eclipse:同じ処理内容を一つのメソッドへ抽出(統合)する方法

EclipseではJavaなどで一つのクラス内で同じ処理内容が複数存在している場合、一つのメソッドとして抽出(統合)することが出来ます。この機能は同じ処理内容ではなくても選択したソースコードは別のメソッドとして抽出することも可能となります。

サンプルコード

Javaソース:メソッド抽出前

  • 以下の様に3~7行目と9~13行目は同じ内容なのでこちらを一つのメソッドに抽出します。

メソッド抽出手順

  1. 抽出したいソースコードを範囲選択して右クリック後、「リファクタリング」⇒「メソッドの抽出」を選択します。ショートカットキー「Alt + Shift + M」でもOKです。
  2. メソッドの抽出画面でメソッド名を指定して必要に応じて各チェックボックスを選択して「OK」ボタンを選択します。

Javaソース:メソッド抽出後

  • 以下の様に同じ処理内容が一つのメソッドとして抽出(統合)されているのが確認出来ます。

     

SQL:特定の日付時点で有効な住所情報を取得する方法

顧客の有効住所などを管理しているテーブルからある特定の日付時点で有効な住所を取得する方法をメモしておきます。

特定の日付時点で有効な住所情報を取得するサンプル

サンプルテーブル

  • 「CLIENT_ADDRESS」テーブル
    以下の様に顧客ID(CLIENT_ID)毎に有効な住所を管理するテーブルです。最新の住所のEND_DATEはnullとして管理してます。

クエリー(SQL)

  • ‘2022-03-31’時点で有効な住所情報を取得する例です。

実行結果

Excelの表をWordへ貼り付ける方法

Excelで作成した表やテーブルなどをWordへ貼り付ける場合、単純にコピペでも可能ですが、計算式などの書式は数値としてそのままコピーされるので今ひとつ使い勝手が良くない表になってしまいます。

そういう場合は「形式を選択した貼り付け」でExcel形式のオブジェクトとして貼り付けすることでExcelの計算式などもコピペ出来るので便利です。

Excelの表をWordへ貼り付ける手順

  1. Excelで貼り付けたい表を選択してコピーします。
  2. Wordで「ホーム」タブ ⇒ 「貼り付け」 ⇒ 「形式を選択して貼り付け」 を選択します。
  3. 「Microsoft Excel ワークシート オブジェクト」を選択して「OK」ボタンを選択します。
  4. 以下のようにExcelの表のまま貼り付けられているのが確認できます。
  5. 貼り付けた表をダブルクリックするとExcelベースでのフィルタやグループ化なども操作する事が可能となります。