SQL Server 数値が含まれているかチェックしてデータを抽出する

SQL Server で、あるカラムの値が数値かどうかチェックするには、ISNUMERIC を使います(この関数は SQL Server 2014 から)。

式が数値型として有効かどうかチェックする

サンプルデータ

例えば、このようなデータがあります。 この ProductCd 列で、数値の CD だけで構成されているものを抽出したい場合は、以下のような SQL になります。

SELECT
    *
FROM
    Products
WHERE
    ISNUMERIC(ProductCd) = 1
ISNUMERICを条件に使う

実行結果

逆に、数値ではないものを抽出したい場合、条件を = 0 とします。

なお、この「数値以外」ですが、プラス記号やマイナス記号、ドル記号など通貨記号も数字ではないと判断されます。

カラム毎に数値かどうかチェックして、数値かどうかで場合分けをしたい場合は、以下のような SQL になります

SELECT
	CASE WHEN ISNUMERIC(ProductCd) = 1 THEN 'True' ELSE 'False' END AS 数値チェック
FROM
    Products
ISNUMERICをCASEで使う

実行結果

Teamsの表示が汚いので、フォントを変更した

Microsoft Teams は、表示されるフォントを変更することはできません。
仕事で使うとはいえ、今どきのスマートフォンよりも汚いフォントを一日中見るのは けっこう苦痛だったりするものです。
今回は、Teams の表示フォントを無理やり変えてしまおうという話です。

Teams の表示フォントを変更する

Temas で表示されているフォントは、游ゴシック UI です。このフォントは形が変な上に文字間のスペースが詰まりすぎているので見づらいと感じます。
そして、残念ながら、これを変更する設定項目はありません……。
(そもそも Windows は、システムフォントの変更ができません。昔はできましたけどね)

Meiryo UI も大っきらい!! を使う

そんな中、システムフォントを変えさせてくれよ、ということで開発されたフリーソフトが「Meiryo UI も大っきらい!!」です。

Windows のシステムフォントを変更するためのソフトですが、これを使ってフォントを変更すると、Teams の表示フォントが変わります。

注意:なお、このソフトを使うと Windows のシステムフォントが全て変わってしまうので、厳密に言うと、Teams だけフォントを変更することはできません。

Microsoft Teams

デフォルト表示。

Microsoft Teams

UD デジタル教科書体 NK-R に変更

Microsoft Teams

BIZ UDP ゴシックに変更。

Teams のフォントは変更できる!

先ほど書いたとおり、ソフトを使うとシステムフォントも変更されてしまうのですが、Windows 自体のフォントも色々と変更できるので、好きなフォントを使って気分をアゲて仕事ができます。

丸文字にしておけば、どんなに怒られても和やかな気分で仕事ができますよ(笑)。

Excel 検索で値が見つからない場合、選択されていないか確認!

Excelで検索した値が見つからない
Excelで検索した値が見つからない

Excel で、値があるはずなのに検索で引っかからないことがあります。

セルを選択していると、その中にある値から検索する

Excel 選択したセルの中から検索
Excel 選択したセルの中から検索

Excel では、セルを選択していると、選択されたセルの中からしか検索しません。 たとえシート内に値があっても、選択されていないと、検索されません。

セルを選択していなければ、シート全体が検索対象となります。

値を目立たせる小技

セルの選択をしていなければ、シート内の全ての値が検索対象になりますが、全てのセルを選択状態にして検索するとどうなるでしょう?

Excel 検索した値を目立たせる
Excel 検索した値を目立たせる

検索した値が反転するので、どこのセルに値があるのか わかりやすいです。

Excel セルの内容を表示する所の文字とサイズを変更

Excelの数式バー

Excel の数式バー(セルの内容を表示するバー)に表示される文字は、游ゴシックが使用されています。アルファベットの O(オー)と 0(ゼロ)の区別は、できなくないものの、ちょっと見づらいかもしれません。

数式バーのフォントを変える

数式バーの表示は、変更できます。

  1. ファイル - オプション を開く。
  2. 「全般 」の「新しいブックの作成時」にある「次を規定のフォントとして使用」という部分を変更すると、文字を変えられます。フォントサイズを大きくすれば、見やすくなるでしょう。
Excelの設定を変更する

Migu 1C にしてみます。 基本的には、自分の好きな(見やすいと思う)フォントに設定しましょう。

Excelのダイアログ

設定を変更した後は、Excel の再起動が必要です。

Excelで数式バーのフォントを変更する

再起動した後は、設定内容が反映されています。

ちなみに、この設定をいじると、次に Excel ファイルを新規作成すると、その設定が初期表示の設定となります。 自分の PC にしかインストールされていないフォントを使うと、他の人はそのフォントではなく、別のフォントに置き換わって表示されるので注意が必要です。

DataTable の Select は大文字、小文字、全角、半角を区別しない

DataTable.Select は、指定した検索条件により DataTable を検索し、結果を行で返してくれるメソッドです。

この Select は昔からあるメソッドで、DataTable を使っているソースの中には今でも見かけることがあります。安易に使っているケースも散見されますので、注意が必要です。

文字種は区別しない

例えば、以下のようなソースがあったとします。
結果として、何行 返却されるでしょうか?

var dt = new DataTable();
dt.Columns.Add(new DataColumn("Address", typeof(string)));
dt.Rows.Add("tokyo");
dt.Rows.Add("TOKYO");
var result = dt.Select("Address = 'tokyo'");

2 行返ってきます。
tokyo がヒットするのはわかりますが、TOKYO も返却されます。DataTable.Select のデフォルトの挙動です。

文字列を厳密に比較する

大文字、小文字、全角、半角を厳密に比較するには、CaseSensitive プロパティを true にします(デフォルトは false)。

var dt = new DataTable();

// 大文字、小文字、全角、半角を区別する。
dt.CaseSensitive = true;
            
dt.Columns.Add(new DataColumn("Address", typeof(string)));
dt.Rows.Add("tokyo");
dt.Rows.Add("Tokyo");
dt.Rows.Add("TOKYO");
var result = dt.Select("Address = 'tokyo'");    

このソースでは、返却されるのは tokyo の 1行だけです。