SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

SQLServerの条件LIKE

SQL Server(Transact-SQL)のLIKE条件では、パターンの照合に使用されるSELECT、INSERT、UPDATE、およびDELETEステートメントのWHERE句でワイルドカードを使用できます。

構文LIKE条件

 'biểu thức' LIKE 'mẫu' [ ESCAPE 'Escape_Character' ] 

変数名または変数値

列や情報フィールドなどの文字表現。

フォーム

文字形式には、照合されたサンプルが含まれています。以下の表からサンプルを選択できます。

代表的な記号説明%任意の長さ(長さ0を含む)の文字列を検索する_文字[^]を検索して、[^]文字に含まれない文字を検索する(たとえば、[^ abc]は、、 bまたはc)

エスケープ文字

オプション。一時的にスキップ文字として変換され、%や_などの文字が文字通り(定数の形式で)使用されているかどうかを確認できますが、特殊文字としては使用されていません。

例-ワイルドカード%を使用

SQL ServerのLIKE条件でワイルドカード%を使用します。たとえば、文字「B」で始まる従業員を探します

  S ELECT * 
FROM nhanvien
WHERE ho LIKE 'B%';

以下の例と同じ文字列で%文字を使用できます。

  SELE CT * 
FROM nhanvien
WHER ho LIKE '%0%';

文字「o」が含まれている従業員の結果。

たとえば、ワイルドカードを使用します_

文字_は1文字(長さは1)の検索にのみ使用されることに注意してください。

  S ELECT * 
FROM nhanvien
WHERE ho LIKE 'Ad_m';

この例では、返される結果は4文字の名前の従業員で、最初の2文字は「Ad」、最後の文字は「m」です。たとえば、Adam、Adem、Adim、Adom。

これは別の例です

 SELECT * 
FROM nhanvien
WHERE so_nhanvien LIKE '123_';

4桁で3人しかない従業員の数を探しています。上記の例では、返される結果には10個のレコードが含まれ、欠落している値は0〜9です:1230、1231、1232。

たとえば、ワイルドカード[]を使用します

角かっこで囲まれているのは、必要な文字であり、パターンに一致することに注意してください。

 SELECT * 
FROM nhanvien
WHERE ten LIKE 'Sm[iy]th';

この例で返される結果は、名前が5文字で、最初の2文字が「Sm」で最後の2文字が「th」である従業員です。文字は「i」または「y」にすることができます。したがって、結果はスミスまたはスミスになる可能性があります。

たとえば、ワイルドカードを使用します[^]

角かっこで囲まれているのは、パターンに一致させたくない文字です。

  S ELECT * 
FROM nhanvien
WHERE ten LIKE 'Smy[^iy]th';

その結果、従業員名は5文字になり、最初の2文字は「Sm」、最後の2単語は「th」、中央の単語は「」ではありません。 i'または'y'。結果はSmath、Smethになる可能性があります。

たとえば、NOT演算子を使用します

これは、SQLServerでワイルドカードを使用してNOT演算子を使用する方法です。 LIKE条件の文字「B」で始まらない従業員の名前を見つけることができます。

  SE LECT * 
FROM nhanvien
WHERE ho NOT LIKE 'B%';

LIKE条件の前にNOT演算子を設定すると、「B」で始まらない従業員ファミリーが見つかります。

たとえば、文字を使用してエスケープ文字をスキップします

パターンを比較するときはスキップ文字を使用することが重要です。これは、特殊文字を定数値として使用するときに誤解を避けるためです。

たとえば、文字a%またはa_を検索する場合。

1文字で定義できるのは文字のみであることに注意してください(長さは1)。

  SELEC T * 
FROM nhanvien
WHERE secret_hint LIKE '123!%455' ESCAPE '!';

このコマンドは、secret_hintが123%455の従業員を返します。%文字は以前の意味では使用されなくなり、通常の文字として使用されます。

これはより複雑な例です。

  SELE CT * 
FROM nhanvien
WHERE secret_hint LIKE 'H %!%' ESCAPE '!';

LIKE条件の結果は、secret_hintの従業員が「H」で始まり「%」で終わる(「Help%」など)という結果になります。

LIKE条件では、文字全体_で無視文字を使用できます。

  SEL ECT * 
FROM nhanvien
WHERE secret_hint LIKE 'H%!_' ESCAPE '!';

この例では、「Help_」のように、「H」で始まり「_」で終わるsecret_hintを持つ従業員を返します。


  1. SQLServerのAND条件

    SQL Serverでは、AND条件(またはAND演算子)を使用して、SELECT、INSERT、UPDATE、またはDELETEステートメントの2つ以上の条件をテストします。 AND条件構文 WHERE điều kiện 1 AND điều kiện 2 … AND điều kiện n; 変数名または変数値 条件1、条件2。 条件n レコードを選択するために満たす必要のある条件。 注 SQL ServerのAND条件を使用すると、2つ以上の条件をチェックできます。 SQL ServerのAND条件では、すべての条件が満たされ、新しいレコードが結果セットに含まれて

  2. MS SQL Serverとは何ですか?

    SQL Serverとは何ですか? RDBMSに基づいてMicrosoftが開発したソフトウェア。 また、ORDBMS(オブジェクトリレーショナルデータベース管理システム)。 独立したプラットフォーム。 ソフトウェアは、コマンドラインインターフェイスとGUIインターフェイスの両方を使用します。 SQL言語のサポート(以前のSEQUEL-構造化された英語のクエリ言語)-これはIBMの製品です。 SQLServerを使用する目的 データベースを作成します。 データベースを維持します。 SSASによるデータ分析-SQLServerAnalysisServices。 SSRSによるレポートの作