Excel:半角・全角文字のチェック方法

Excelを使用して文字列の中に半角文字が含まれてるかどうかを確認する方法です。

半角文字の有無を確認するにはLEN関数とLENB関数の結果を比較することで文字列の中に半角文字が含まれてるかどうかを確認出来ます。

LEN関数とLENB関数を使用して半角文字の有無を確認する方法

以下はA列の文字列をLEN関数(文字列の長さ)とLENB関数(文字列のバイト数)でそれぞれで取得し、「LEN(A2)*2 – LENB(A2) = 0」に該当する場合に半角文字を含まないと判断してます。

Oracle:COALESCE関数の使い方

oracleの独自関数のCOALESCE(コアレス)関数の用途についてメモしておきます。

COALESCE関数とは

COALESCE関数は引数のリストから最初のNULL以外の値を返却するOracle独自関数となります。

NVL2関数との違いは必ずしも引数へ指定するデータ型を全て合わせる必要はないことです。

ただデータの一貫性を保ちたい場合は極力データ型は合わせた方が望ましいです。

サンプルテーブル

  • サンプルテーブル「CLIENT_ADDRESS」

COALESCE関数の使用例

  • SQL(クエリー)例

    上記例ではSTART_DATEがNULLであればEND_DATEの値を、END_DATEもNULLであればsysdateを返却します。

  • 実行結果

Oracle:NVL関数とNVL2関数の違い

oracleの独自関数としてNVL関数やNVL2関数があります。

知ってると結構便利な関数なので、この2つの関数の違いについて整理しておきます。

NVL関数とは

NVL関数は第1引数がNULLなら第2引数の値(代替値)を返します。

もし第1引数の結果がNULLでなければ、そのまま第1引数の値を返します。

注意点として第1引数と第2引数へは同じデータ型を指定する必要があります。

NVL関数の使用例

  • サンプルテーブル「CLIENT_ADDRESS」
  • SQL(クエリー)例
    以下の例ではEND_DATEがNULLでない場合はEND_DATEの値を、NULLの場合はsysdateを返却します。
  • 実行結果

NVL2関数とは

NVL2関数は第1引数がNULLの場合に、第2引数の値を返却し、第1引数がNULLの場合は第3引数の値を返却します。

注意点として第1引数、第2引数、第3引数に指定する値は全て同じデータ型を指定する必要があります。

NVL2関数の使用例

  • サンプルテーブル「CLIENT_ADDRESS」
  • SQL(クエリー)例
    以下の例ではEND_DATEがNULLでない場合は第2引数のSTART_DATEの値を返却し、END_DATEがNULLの場合は第3引数のsysdateを返却します。
  • 実行結果

INSERT文を指定回数分ループして実行する方法

性能試験などであるテーブルに大量データの作成が必要になった場合にINSERT文をループで処理できれば便利!という事で、SQLとロジックを組み合わせたストアドプロシージャでのサンプルプログラムとなります。

ストアドプロシージャ

上記の例では、loop_limitに指定した件数分「GOODS」テーブルへレコードを追加するサンプルコードです。

上記の例では、loop_limitを10としていますが、必要に応じて任意の数値に変更できます。

DBeaverで上記のストアドプロシージャを実行する場合は「SQLスクリプトを実行する」を選択することで正常に実行されます。

実行結果

 

Excel:文字列で入力済の値を数値形式へまとめて変換する方法

Excelで文字列として入力済の値をまとめて数値形式へ変換する方法です。

以下の様にA1~A3セルへは文字列として入力しており、A4セルで集計してますが文字列なので0表示されてしまっています。

このA1~A3セルの文字列を数値形式に変換してみます。

 

  1. 数値変換したい範囲を選択し、エラーチェックオプション(!マークのアイコン)を選択します。
  2. 「数値に変換する」を選択します。
  3. これだけで以下のように数値形式へ一括変換され正常に集計結果が表示されます。

「お知らせ: メールボックスのサイズがクォータ制限に達しました」はフィッシングメールなのでご注意を!!

日頃からスパムメールの類には注意していたつもりでしたが、以下の様なメールが届いてフィッシングメールとは気付かずにリンクをクリックしてしまったので注意喚起として記載します。

メールの件名:「お知らせ: メールボックスのサイズがクォータ制限に達しました」

メール内容

ちゃんと見れば送信元のメールアドレスが疑わしいアドレスだったり、メールボックス制限に達してるのにメールが送られてきてたりと不審な点に気づくはずなんですが、このメールを見た瞬間はフィッシングメールと気付かず「メールクォータを変更する」をクリックしてしまい、メールアドレスが自動で入力しているPOPパスワードの入力を促す画面へ誘導されてしまいました。。

私の場合はPOPパスワードを忘れていてプロバイダへ連絡してみたら「そのようなメールは送っていないのでフィッシングメールなので削除して下さい」とご指摘頂いたので気付くことが出来ました。

皆様もご注意を^^;