オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【SQL】TRIM関数とオプション「LEADING、TRAILING、BOTH」の使い方 (ORACLE DATABASE 12C SQL基礎)

ORACLE DATABASE 12c SQL基礎(1Z0-061)の試験範囲でもある、
TRIM関数BOTH、LEADING、TRAILINGのオプションを指定した場合の使用方法を紹介します。


目次

TRIM関数の使い方

TRIM関数は引数で指定した文字の前後にある半角スペースを削除する関数です。
また、オプション・引数を指定することで1文字の切り捨て文字を文字列の「前後」または「先頭1文字」または「末尾1文字」から削除することができます。

TRIM関数の書式

  1. TRIM(文字列)
  2. TRIM(切り捨て文字 from 文字列)
  3. TRIM(LEADING | TRAILING | BOTH] 切り捨て文字 FROM 文字列)

※指定できる切り捨て文字は1文字だけです。2文字以上を指定するとエラーとなります。
※LEADINGは先、TRAILINGは末尾、BOTHは両方という意味を意識すると覚えやすいです。

1.TRIM(文字列)の使用方法

「TRIM(文字列)」は文字列の前後の半角スペースを削除します。
ダミーテーブルのDUALを使って以下のSQLで動作を確認してみましょう。

--文字列の前後の半角スペースを削除する例
SELECT TRIM('   ORACLE 1Z0-061学習   ') FROM DUAL;

--文字列の前後の全角スペースは削除されない例
SELECT TRIM('   ORACLE 1Z0-061学習   ') FROM DUAL;


文字列の前後の半角スペースは削除されますが、全角スペースは削除されません。


2.TRIM(切り捨て文字 from 文字列)の使用方法

「TRIM(切り捨て文字 from 文字列)」は指定した切り捨て文字(1文字)が文字列の前後にある場合に、その1文字を削除します。
※指定できる切り捨て文字は1文字だけです。

--文字列の前後の「a」を削除する例
SELECT TRIM('a' FROM 'a1101a') FROM DUAL;
SELECT TRIM('a' FROM 'a5555') FROM DUAL;
SELECT TRIM('a' FROM '5555a') FROM DUAL;

1つ目のSQLでは文字列の前後に「a」があるので、前後の「a」を削除。
2つ目のSQLでは文字列の先頭にある「a」を削除。
3つ目のSQLでは文字列の末尾にある「a」を削除。


切り捨て文字に2文字以上を指定した場合は、以下のようなエラーとなります。

SQL   : ORA-30001: 切捨てセットの文字は1つにする必要があります

※エラーコード:ORA-30001の例

2.TRIM(LEADING | TRAILING | BOTH] 切り捨て文字 FROM 文字列)の使用方法

オプションのLEADING | TRAILING | BOTHを指定することで、文字列の先頭、もしくは末尾、もしくは前後両方から切り捨て文字を削除することができます。

  • LEADINGを指定した場合は、文字列の先頭から切り捨て文字を削除します。
  • TRAILINGを指定した場合は、文字列の末尾から切り捨て文字を削除します。
  • BOTHを指定した場合は、文字列の前後から切り捨て文字を削除します。


LEADINGの使用例

--文字列の先頭の「a」を削除する例
SELECT TRIM(LEADING 'a' FROM 'a1101a') FROM DUAL;


TRAILINGの使用例

--文字列の末尾の「a」を削除する例
SELECT TRIM(TRAILING 'a' FROM 'a1101a') FROM DUAL;


BOTHの使用例

--文字列の前後の「a」を削除する例
SELECT TRIM(BOTH 'a' FROM 'a1101a') FROM DUAL;

【Excel】INDEX関数の使い方 ~超入門:より分かりやすくINDEX関数を勉強する~

INDEX関数とは

INDEX関数では、指定したセル範囲内で行番号、列番号を指定して該当のセルの値を取得することができます。

INDEX関数の書式は以下の通りです。

書式
INDEX(対象範囲,行番号,列番号)

INDEX関数の使い方

簡単な例を使って、INDEX関数の使い方を説明します。
以下のようなセル範囲「A1:C8」の表を使って、「田中」をINDEX関数を使って取得する方法を考えてみましょう。

f:id:auroralights:20210409233838p:plain

最初にINDEX関数の引数である、対象範囲、行番号、列番号を一つ一つ考えます。
f:id:auroralights:20210409235028p:plain
行番号、列番号は対象範囲に対して決めるものなので、まずは対象範囲を決めます。

対象範囲はA1:C8とします。
f:id:auroralights:20210409235243p:plain
f:id:auroralights:20210409234744p:plain


次に行番号と列番号を決めます。
「田中」は対象範囲「A1:C8」の中で5行目、2列目のデータです。
f:id:auroralights:20210409235515p:plain
f:id:auroralights:20210409235421p:plain


任意のセルに「=INDEX(A1:C8,5,2)」と数式を入力すると、セル「A1:C8」内の
5行目・2列目のデータである「田中」を取得することができました。
f:id:auroralights:20210409235701p:plain


以前書いたINDEX関数の記事はこちら
auroralights.jp

【サクラエディタ】改行コードを確認する方法・改行コードを置換する方法

サクラエディタ改行コードを確認する方法改行コードを置換する方法改行コードを指定してファイルを保存する方法を紹介します。


【目次】

各OSで使われている改行コードと改行コードの正規表現

各OSで使われている改行コードおよび改行コードの正規表現は以下の通りです。

OS 改行コード 改行コード 正規表現
Unix Line Feed LF \n
Mac(OSX) Line Feed LF \n
Mac(OS9) Carriage Return CR \r
Windows Carriage Return+Line Feed CR+LF \r\n
※「\」は、環境によっては「¥(半角)」で表示されます。


サクラエディタでの改行コードの表示(見え方)

サクラエディタの行末尾に表示される表示は、改行コードによって異なります。
LFなら「↓」、CRなら「←」、CR+LFなら「↵」と表示されます。

改行コード サクラエディタでの表示
LF
LF
CR
CR+LF

サクラエディタの改行コードの表示


改行コードの正規表現で改行コードを確認する方法

「Ctrl」+「F」のショートカット、もしくは「検索」メニュー>「検索」もしくは「検索」アイコンから検索画面を表示します。

<検索>

検索画面の「条件」に正規表現の改行コードを入力、「正規表現」のチェックボックスにチェック、「該当行マーク」を選択します。


このファイルの最下行までスクロールして、このファイルの改行コードが「LF」であることがわかります。


サクラエディタで改行コードを置換する方法

画面上部の「検索」を選択、「置換」を選択します。
(「Ctrl」キー+「R」キーでショートカットできます)


「正規表現(E)」にチェックします。
「置換前(N)」と「置換後(P)」に改行コードを設定し、「すべて置換(A)」を選択します。
(今回は「CR+LF」から「LF」への変換なので置換前に「¥r¥n」、置換後に「¥n」を指定します)


改行コードが変更されていることがわかります。


サクラエディタで置換コードを指定して保存する方法

画面左上の「ファイル」を選択します。

「名前を付けて保存(A)」を選択します。
(そのファイルを最初に保存をする場合は「上書き保存(S)」でもOKです)

「改行コード(E)」に変換したい改行コードを指定します。
※今回は「LF(UNIX)」を指定します。

改行コード「LF」に置換されています。