外付けハードディスクMARSHAL MiniSHELTER MAL21000EK3-BK

以前からテレビの録画できる、HDレコーダーあったらいいなぁ~と思っていたのですが、高価だし、録画してまでも観たい番組って少ないから購入を見送っていました。

たまたま、楽天市場で発見した外付けハードディスク、安い!!

テレビの録画、PCの記憶媒体に使えるハードディスクを買いました。

私が購入した時は5,980円でしたが、この記事を作る時は無くなっていて金額も上がっていました。

それでも簡単・便利・安価なので紹介します。

 

現在の楽天

 

今現在の価格は6,680円、送料無料です。

USB3.0ケーブルも付属しています。(ちょっぴり短い)

電源すら不要でUSBで接続するだけです。

簡単でしょ。

 

MiniSHELTERのパッケージ

楽天市場でポチっとして2日後に商品がやってきました。

パッケージ

楽天で買ったのにAmazonの手配で商品が届きました。・・・・まっ!よくあることです。

サイズ認識のためICOSのフレーバーを一緒に写しました。

どうです。小さいでしょ。

パッケージのサイズがこんなに小さいのに、中身はもっと小さいですよ。

MiniSHELTERのセット内容

MiniSHELTERセット内容ハードディスク本体、USB3.0ケーブル、マニュアルが入っていました。

USB3.0のケーブルは約50㎝と短いので必要であれば別のケールを用意した方がいいでしょう。

因みにMiniSHELTERは従来のUSB2.0に対応しています。

転送速度はUSB3.0の方が優れているのは言うまでもないですネ。!!

マニュアルは多言語で記載されています。

私は一度もマニュアル読むことはありませんでした。

はっきり言ってマニュアル読むことはないでしょう。

AQUOSに繋いでみた

とりあえず、使ってみたいのでSHARPのテレビAQUOSに繋ぐことにしました。

AQUOS背面接続はとっても簡単。

AQUOS背面のUSB端子とハードディスク本体をUSBケーブルでつなぐだけで完了です。電源すら必要無しなんです。

これなら、この手の作業が苦手な方でも簡単にできます。

MiniSHELSTERをAQUOSで初期化

接続したら最初にMiniSHELTERをAQUOSで初期化します。

AQUOSの機能でMiniSHELTERを初期化しますが、テレビリモコンで簡単に操作できます。

初期化にかかる時間も約1分と超特急です。

画像に変な映り込みがあってすみません。

これで、準備完了です。

MiniSHELTERに録画

録画予約等は簡単に操作できます。

録画一覧等、録画した番組も簡単に見ることができます。

もちろん、録画番組の消去などもレコーダーなみに簡単に操作できました。

しかし、ハードディスクならではの難点の存在するのは確かです。

MiniSHELTERを使ってみたまとめ

値段、サイズ、容易さや撮る、見る、操作はとっても満足しています。

最大の難点はチューナー内蔵でないことです。

もうおわかりですよね、裏番組の録画ができないのです。

Aチャンネルを見ながらBチャンネルの録画できません。
これって致命的かもしれません。

まっ!!留守にする時等に使ってみます。

 

VB.NETでCSVテキストファイルを読み込む

VB.NETでCSVファイルを読み込みにはというクラスを使えば、CSVを読み込んで各行の各フィールドの文字列を簡単に取り出すことができます。

TextFieldParserクラスを使用してCSVファイルを読み込むには、処理したいCSVファイルをコンストラクタで指定してインスタンスを作成する必要があります。

TextFieldParserクラスのコンストラクタ呼び出し

Imports Microsoft.VisualBasic.FileIO

Public Class Module1
    Private Sub csv_load()
        Dim parser As New TextFieldParser("C:\Users\ks420\Desktop\csvtext.txt",
             System.Text.Encoding.GetEncoding("Shift_JIS"))
    End Sub
End Class

フィールド間がコンマで区切られている設定

Imports Microsoft.VisualBasic.FileIO

Public Class Module1
    Private Sub csv_load()
        parser.TextFieldType = FieldType.Delimited
        parser.SetDelimiters(",")
    End Sub
End Class

テスト用CSVテキストファイル

テスト用にこのようなCSVファイルを用意しました。

1,1行目,1行目の3個目
2,2行目,2行目の3個目
3,3行目,3行目の3個目
4,4行目,4行目の3個目
5,5行目,5行目の3個目

CSVファイルを読み込んでコンソールに表示するプログラム

Imports Microsoft.VisualBasic.FileIO

Public Class Module1
        Using parser As New TextFieldParser("C:\Users\ks420\Desktop\csvtext.txt",
             System.Text.Encoding.GetEncoding("Shift_JIS"))

            parser.TextFieldType = FieldType.Delimited
            parser.SetDelimiters(",")

            While Not parser.EndOfData
                Dim row As String() = parser.ReadFields()

                Console.WriteLine(row(0) & " " & row(1) & " " & row(2))
            End While
        End Using
End Class

CSVファイルの全ての行を1行づつ読んでコンソールに表示しています。

このように表示されます。

1 1行目 1行目の3個目
2 2行目 2行目の3個目
3 3行目 3行目の3個目
4 4行目 4行目の3個目
5 5行目 5行目の3個目

VB.NETのお勉強の教材

VB.NET教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。

VB.NETでDataGridViewを使う

DataGridViewコントロールはさまざまな種類のデータ ソースのデータを表形式で表示し、編集したりすることが可能です。

又、データ ソースをバインドせずに動作させることも可能です。

拡張性に優れていてカスタマイズに柔軟なコントロールです。

しかし、便利で優れたコントロールではあるが柔軟ではならでは不都合も発生する場合があります。

それは、エンドユーザーの操作により表の幅や高さ、並び替え等の形状等の変更が可能になり、場合によっては仕様上で邪魔にになってくることがあります。

そこで、エンドユーザーがDataGridViewに対する操作を制限する方法やテーブルの常時の仕方などを紹介します。

ヘッダーの高さ・幅を変更できないようにする

Me.DataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing
Me.DataGridView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing

セルの高さ・幅を変更できないようにする

Me.DataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing
Me.DataGridView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing

並び替え(ソート)をできないようにする

For Each c As DataGridViewColumn In Me.DataGridView.Columns
    c.SortMode = DataGridViewColumnSortMode.NotSortable
Next c

複数行の選択ができないようにする

Me.DataGridView.MultiSelect = False

列ヘッダーに表示する文字列を設定する

Me.DataGridView.Columns(0).HeaderText = "コード"
Me.DataGridView.Columns(1).HeaderText = "名称"

列ヘッダーのスタイル設定

Me.DataGridView.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
Me.DataGridView.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter

行ヘッダーの幅を設定する

Me.DataGridView.RowHeadersWidth = 20

セルの幅を設定する

Me.DataGridView.Columns(0).Width = 40
Me.DataGridView.Columns(1).Width = 140

セルの書式を設定する

Me.DataGridView.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
Me.DataGridView.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight

データソースの列名割り付け

Me.DataGridView.Columns(0).DataPropertyName = "CODE"
Me.DataGridView.Columns(1).DataPropertyName = "NAME"

テーブルの内容を表示する

Dim ad As New SqlClient.SqlDataAdapter
Dim ds As New DataSet
Dim sql As String

sql = ""
sql &= "SELECT"
Sql &= "        列名1,"
sql &= "        列名2"
sql &= "    FROM"
sql &= "        テーブル名"
ad = New SqlClient.SqlDataAdapter(sql, cnSring)
ad.Fill(ds)
Me.DataGridView.DataSource = ds.Tables(0)
ds.Dispose()
ad.Dispose()

DataGridViewでEnterキーでTabキーと同じ動作をする

DataGridViewでEnterキーを押したらTabキーと同様の動作、次のフィールドにフォーカスを移す方法です。
クラスを作成して、ビルド、又はリビルドしたらルールボックスにカスタムDataGridViewとして現れ、通常のDataGridViewのように使用できます。

Public Class MyDataGridView
    Inherits DataGridView

    Protected Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean
        If (keyData And Keys.KeyCode) = Keys.Enter Then
            Return Me.ProcessTabKey(keyData)
        Else
            Return MyBase.ProcessDialogKey(keyData)
        End If

    End Function

    Protected Overrides Function ProcessDataGridViewKey(ByVal e As KeyEventArgs) As Boolean
        If e.KeyCode = Keys.Enter Then
            Return Me.ProcessTabKey(e.KeyCode)
        Else
            Return MyBase.ProcessDataGridViewKey(e)
        End If
    End Function
End Class

VB.NETのお勉強の教材

VB.NET教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。

VB.NETでSQL ServerのSQL文を実行する

VB.NETのプログラムでSQL Serverに接続してSQL文を実行する解説です。

この記事ではSQL Serverのデータベースに接続し、「SELECT」、「INSERT」、「UPDATE」、「DELETE」を実行する内容を例にしています。

戻り値が必要な場合は「ExecuteReader」を使い、戻り値が必要無い場合は「ExecuteNonQuery」を使用します。

SQL Serverのデータベースに接続する

Dim cn As New SqlClient.SqlConnection

cn.ConnectionString = 接続文字列
cn.Open()

'---- ↓ ----
この間でSQL文を実行する
'---- ↑ ----

cn.Close()
cn.Dispose()

最後にクローズと解放をお忘れなく!!

cn.Close()
cn.Dispose()

SQL Serverのデータベースに接続する「接続文字列」

接続文字列とはSQL Serverのデータベースにログインするのに必要な情報をルールに基づいて羅列した文字列です。

Data Source = IPアドレス等のロケーション\SQLEXPRESS;User ID = ユーザID;Password = パスワード;Initial Catalog = カレントデータベース名;” この様な定義とします。

これらの内容を変数に定義します。

ここでは変数「cnStaring」に接続文字列を定義します。

Dim cnStaring As String

cnString = ""
cnString &= "Data Source =IPアドレス等のロケーション\SQLEXPRESS;"
cnString &= "User ID = ユーザID;"
cnString &= "Password = パスワード;"
cnString &= "Initial Catalog = データベース名;"

テーブルの内容を取得する

テーブルの内容を取得するには「SELECT句」を「ExecuteReader」で使います。

Dim cn As New SqlClient.SqlConnection
Dim cd As New SqlClient.SqlCommand
Dim dr As SqlClient.SqlDataReader
Dim SQL As String

'データベース接続
cn.ConnectionString = "データベース接続文字列"
cn.Open()
'SQL文生成
SQL = ""
SQL &= "SELECT"
SQL &= "        *"
SQL &= "    FROM"
SQL &= "        テーブル名"
'SQLコマンド設定
cd.CommandText = SQL
cd.Connection = cn
dr = cd.ExecuteReader
While dr.Read
    Console.Write(dr("列名1"))
    Console.Write(dr("列名2"))
End While
'クローズ解放
dr.Close()
cd.Dispose()
cn.Close()
cn.Dispose()

このSQL文ではコンソールに列名1と列名2の内容が表示されます。

このようにテーブルの内容(戻り値)が必要な場合は「ExecuteReader」を使用することで可能になります。

テーブルに行(レコード)を追加する

テーブルに新たな行(レコード)を追加するには「INSERT句」を「ExecuteNonQuery」で使用します。

Dim cn As New SqlClient.SqlConnection
Dim cd As New SqlClient.SqlCommand
Dim SQL As String

'データベース接続
cn.ConnectionString = "データベース接続文字列"
cn.Open()
'SQL文生成
SQL = ""
SQL &= "INSERT  INTO    テーブル名"
SQL &= "("
SQL &= "    列名1,"
SQL &= "    列名2,"
SQL &= "    列名3"
SQL &= ")"
SQL &= "VALUES"
SQL &= "("
SQL &= "    1,"
SQL &= "    100,"
SQL &= "   'テスト文字列'"
SQL &= ")"
'SQLコマンド設定
cd.CommandText = SQL
cd.Connection = cn
cd.ExecuteNonQuery()
'クローズ解放
cd.Dispose()
cn.Close()
cn.Dispose()

これでテーブル「テーブル名」に1行追加できます。

他テーブルの内容で行を追加する

先ほどは固定値で行(レコード)を追加しましたが、今度は他のテーブルの内容で行を追加しましょう。

Dim cn As New SqlClient.SqlConnection
Dim cd As New SqlClient.SqlCommand
Dim SQL As String

'データベース接続
cn.ConnectionString = "データベース接続文字列"
cn.Open()
'SQL文生成
SQL = ""
SQL &= "INSERT  INTO    テーブル名A"
SQL &= "("
SQL &= "    列名A1,"
SQL &= "    列名A2,"
SQL &= "    列名A2"
SQL &= ")"
SQL &= "    SELECT"
SQL &= "            列名B1,"
SQL &= "            列名B2,"
SQL &= "            列名B3"
SQL &= "        FROM"
SQL &= "            テーブル名B"
'SQLコマンド設定
cd.CommandText = SQL
cd.Connection = cn
cd.ExecuteNonQuery()
'クローズ解放
cd.Dispose()
cn.Close()
cn.Dispose()

これはテーブル名Bの内容をテーブル名Aに追加します。

テーブルの内容を更新する

テーブルの内容を更新するには「UPDATE句」を「ExecuteNonQuery」で使用します。

Dim cn As New SqlClient.SqlConnection
Dim cd As New SqlClient.SqlCommand
Dim SQL As String

'データベース接続
cn.ConnectionString = "データベース接続文字列"
cn.Open()
'SQL文生成
SQL = ""
SQL &= "UPDATE  テーブル名"
SQL &= "    SET 列名2      =   200,"
SQL &= "        列名3      =   '文字列修正の値'"
SQL &= "    WHERE"
SQL &= "        列名1  =   1"
'SQLコマンド設定
cd.CommandText = SQL
cd.Connection = cn
cd.ExecuteNonQuery()
'クローズ解放
cd.Dispose()
cn.Close()
cn.Dispose()

テーブル「テーブル名」の列名2と列名3の内容を変更します。

テーブルの行(レコード)を削除する

行(レコード)を削除するには「DELETE句」を「ExecuteNonQuery」で使用します。

Dim cn As New SqlClient.SqlConnection
Dim cd As New SqlClient.SqlCommand
Dim SQL As String

'データベース接続
cn.ConnectionString = "データベース接続文字列"
cn.Open()
'SQL文生成
SQL = ""
SQL &= "DELETE"
SQL &= "    FROM"
SQL &= "        テーブル名"
SQL &= "    WHERE"
SQL &= "        列名1  =   1"
'SQLコマンド設定
cd.CommandText = SQL
cd.Connection = cn
cd.ExecuteNonQuery()
'クローズ解放
cd.Dispose()
cn.Close()
cn.Dispose()

テーブル「テーブル名」の列名1が1の行(レコード)を削除します。

VB.NETのお勉強の教材

VB.NET教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。

VB.NETでユーザーによるForm操作を制限する

VB.NETのプログラムの大半はFormを使用することになります。

Formは便利なのですが、エンドユーザーが様々な操作が可能になっています。

例えばサイズの変更であったり、「✕」閉じるボタンでフォームを閉じたりすることが出来るのですが、場合によってはプログラムの仕様に弊害を与え、ややこしい仕様を追加する必要が発生することがあります。

だったら最初からそのような機能を無効化したほうがスッキリした仕様でプログラミングとなります。

Formを仕様した場合に最低限していることを紹介しましょう。

コントロールボックスの最大化ボタンを無効化

MaximizeBoxプロパティの操作で無効化できます。

Loadイベントに装備したらいいでしょう。

Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'Window最大化ボタン非表示
    Me.MaximizeBox = False
End Sub

Formのサイズ変更無効化

FormBorderStyleプロパティを設定すればサイズ変更できなくなります。

これも、Loadイベントで行った方がいいでしょう。

Private Sub FMTOKUI_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'Windowサイズ変更禁止
    Me.FormBorderStyle = FormBorderStyle.FixedSingle
End Sub

コントロールボックスの「✕」閉じるボタンを無効化

フォームのCreateParamsプロパティをオーバーライドして「閉じる」ボタンを無効状態にし、システムメニューの「閉じる」も表示されず、「Alt」+「F4」キーも無効にします。

Protected Overrides ReadOnly Property CreateParams As CreateParams
    Get
        Dim c = MyBase.CreateParams

        c.ClassStyle = c.ClassStyle Or &H200
        Return c
    End Get
End Property

このコードをFormの「Class 」内にコーディングすれば「×」閉じるボタンを無効化できます。

VB.NETのお勉強の教材

VB.NET教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。

VB.NETでSQL ServerのTimestamp型をString型に変換

SQL Serverのシステム型で用意されているTimestamp型は行の世代を示す列で、行に何等かの更新が発生すると自動的に値が変更されます。

更新の有無を把握する型であり、取得済のTimestampの値とテーブルの行に存在するTimestampの値に違いがあれば、その行に何等かの更新があったことになります。

SQL文内であればTimestamp値を比較することは可能ですが、TimeStamp値はByte配列として格納されているため、プログラムで扱える型に変換してから使うようになります。

そこで、TimeStampの値を文字列に変換する方法を紹介します。

TimeStamp型の値を文字列に変換するコード

TimeStamp型の値を受け取り、文字列に変換して戻すコードです。

プロジェクトどこからでも使用できるように「Public Function」で定義しましょう。

Module Module1
    Public Function timestamptostring(tm As Byte()) As String
        Dim i As Integer
        Dim txTimestamp As String = "0x"

        For i = 0 To tm.Length - 1
            txTimestamp &= Hex(tm(i)).PadLeft(2, "0")
        Next

        Return (txTimestamp)
    End Function
End Module 

TimeStamp型を文字列に変換するコードの使い方

Private Sub TimestampTest()
    Dim TxTs as String

    TxTs  = timestamptostring(Timestamp型)
End sub

 

VB.NETのお勉強の教材

VB.NET教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。

VB.NETのFormで「Enter」キーでフォーカスを移動する

VB.NETのFORMは通常、「Tab」キーで次の「TabIndex」にフォーカスが移動する仕様となっています。

その理由は「Enter」キーには別の機能が備わっているからです。

「Enter」で「Tab」キーと同様にフォーカスを移動させることになると、「Enter」本来の機能を無効化することになります。

「Enter」本来の機能を無効化しても大きな問題は発生しないと思います。

事実、これまでに不満感じることはありませんでした。

「Enter」キーでフォーカスを移すコード

Formの「KeyDown」イベントに装備します。

Private Sub Form_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
    If e.KeyCode = Keys.Enter Then
        If e.Control = False Then
            Me.SelectNextControl(Me.ActiveControl, Not e.Shift, True, True, True)
        End If
    End If
End Sub

「KeyPreview」プロパティの有効化

先ほどのコードを装備して、実行しても「Enter」キーでフォーカスが移動しません。

コードを実行するに先立って「KeyPreview」プロパティを「有効」にしないと正常に動作しないのです。

次のコードはFormの「Load」イベントで「KeyPreview」プロパティを「有効」にする例です。

Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.KeyPreview = True
End Sub

「KeyPreview」プロパティを「有効」にすることで「Enter」でフォーカスの移動できるようになりました。

ビープ音の停止

このままですと「Enter」キーを押す度にビープ音が鳴ってしまいます。

イベントを強制的に発生させているためなので、キーイベントが処理されたことにしてしまいます。

Formの「KeyPress」イベントに装備します。

Private Sub Form_KeyPress(sender As Object, e As KeyPressEventArgs) Handles MyBase.KeyPress
    If e.KeyChar = ControlChars.Cr Then
        e.Handled = True
    End If
End Sub

実装後のキーボード操作

「Enter」で次のTabIndexを持つコントロールに移動します。

「Shift」+「Enter」前のTabIndexを持つコントロールに移動します。

MultiLineのテキストボックスでの改行は「Ctrl」+「Enter」で対応できます。

VB.NETのお勉強の教材

VB.NET教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。

SQL Server テーブルとテーブルを結合

2つ以上のテーブルを特定のルールで結合して1つのテーブルのようにします。

結合の種類には「INNER JOIN」、「LEFT JOIN」、「RIGHT JOIN」等ありますが、使い分けるとデバックがややこしくなるので、ルールを設けて使用することをお勧めします。

私は「LEFT JOIN」だけを使用しています。

よって、ここでは「LEFT JOIN」を使用した例を説明します。

LEFT JOINとはSQL文で左方に記述したテーブルをメインテーブルとして扱う結合方法です。

左方結合とも言い、双方のテーブルの結合が成立しなくても、メインテーブルの内容は取得する方法です。

すなわち、サブテーブルに結合対象が存在しない場合は、メインテーブルは取得できて、サブテーブルの内容は「NULL」として取得できます。

1対1の結合

SELECT
        テーブル1.列1,
        テーブル1.列2
    FROM
        テーブル1
            LEFT    JOIN    テーブル2    ON
                テーブル2.列1    =   テーブル1.列1   

メインテーブルを「テーブル1」として「テーブル2」を結合します。

「テーブル1」の「列1」と「テーブル2」の「列1」が一致する行(レコード)を結合します。

抽出条件付き1対1の結合

SELECT
        テーブル1.列1,
        テーブル1.列2
    FROM
        テーブル1
            LEFT    JOIN    テーブル2    ON
                テーブル2.列1    =   テーブル1.列1   
    WHERE
        テーブル1.列1    =   100


メインテーブルを「テーブル1」として「テーブル2」を結合しますが、メインテーブルは「列1」が「100」の行(レコード)を抽出してから結合します。

「テーブル1」の「列1」と「テーブル2」の「列1」が一致する行(レコード)を結合します。

1対2以上の接続

「FROM句」に「JOIN句」は1つしか使用できないので、「(」(カッコ)でネストすることで「JOIN句」を複数使用することが可能になります。

SELECT
        テーブル1.列1,
        テーブル1.列2
    FROM
        (
        テーブル1
            LEFT    JOIN    テーブル2    ON
                テーブル2.列1    =   テーブル1.列1   
        )
            LEFT    JOIN    テーブル3    ON
                テーブル3.列1    =   テーブル1.列1   
    WHERE
        テーブル1.列1    =   100

 

SELECT
        テーブル1.列1,
        テーブル1.列2
    FROM
        (
        (
        テーブル1
            LEFT    JOIN    テーブル2    ON
                テーブル2.列1    =   テーブル1.列1   
        )
            LEFT    JOIN    テーブル3    ON
                テーブル3.列1    =   テーブル1.列1   
        )
            LEFT    JOIN    テーブル4    ON
                テーブル4.列2    =   テーブル1.列2   
    WHERE
        テーブル1.列1    =   100

SQL学習におすすめの教材

Sql Server2016の教科書SQL文を分かりやすく解説している教材で、SQL文初心者におすすめの教材です。

>> この教材を楽天市場で見る <<

SQL Server 最大値取得

テーブルの検索対象内の行(レコード)で特定列の最大値を検索します。

最大値の検索は「MAX」関数を使用します。

全レコードの最大値を検索

SELECT
        MAX(列1)    AS  列1最大値
    FROM
        テーブル1

テーブル1の全行(レコード)を対象にして、列1の最大値を検索します。

「MAX(列1)」は名称を持たないので「列1最大値」として命名します。

特定レコード内の最大値検索

SELECT
        MAX(列1)    AS  列1最大値
    FROM
        テーブル1
    WHERE
        列1 >=  100

テーブル1の列1が100以上の行(レコード)を対象に列1の最大値を検索します。

SQL学習におすすめの教材

Sql Server2016の教科書SQL文を分かりやすく解説している教材で、SQL文初心者におすすめの教材です。

>> この教材を楽天市場で見る <<

SQL Server ワイルドカードであいまい検索

あいまい検索って?

よく知られている検索エンジン、GoogleやYahooの検索と同様に検索ワードと完全一致ではなく、どこかに検索ワードを含む検索の仕方です。

SQL Serverではワールドカードと言われている「%」とLIKE句を使用することで可能になります。

検索ワード前方一致

SELECT
        *
    FROM
        テーブル1
    WHERE
        列1     LIKE    'ミッキー%'

列1の値の先頭に「ミッキー」と一致する行(レコード)を検索します。

検索ワード後方一致

SELECT
        *
    FROM
        テーブル1
    WHERE
        列1     LIKE    '%ミッキー'

列1の値の最後尾に「ミッキー」と一致する行(レコード)を検索します。

検索ワードがどこかに一致

SELECT
        *
    FROM
        テーブル1
    WHERE
        列1     LIKE    '%ミッキー%'

列1の値のどこかに「ミッキー」と一致する行(レコード)を検索します。

 

例としてSELECT句で紹介しましたが、他のSQL文でもLIKE句とワイルドカード「%」は使用できます。

SQL学習におすすめの教材

Sql Server2016の教科書SQL文を分かりやすく解説している教材で、SQL文初心者におすすめの教材です。

>> この教材を楽天市場で見る <<