sql >> データベース >  >> RDS >> Database

T-SQLで文字列の一部を置き換える方法

    問題:

    指定された文字グループの1つで始まる文字列を含む行を選択します。

    例:

    私たちのデータベースには、gamerという名前のテーブルがあります idのデータ およびuser 列。

    id ユーザー
    1 スーパーマン
    2 マグナス
    3 ルーシー
    4 スタン
    5 ali

    ユーザー名が「a」、「b」、「r」、または「s」で始まるゲーマーのすべてのデータを見つけましょう。

    解決策:

    SELECT id, 
      user
    FROM gamer
    WHERE user LIKE '[abrs]%';
    

    結果は次のとおりです。

    id ユーザー
    1 スーパーマン
    4 スタン
    5 ali

    ディスカッション:

    特定のパターンに一致する文字列を含む行をフィルタリングする場合は、LIKE演算子でWHERE句を使用します。 WHERE句は、指定された条件を満たすレコードをフィルタリングするために使用されます。 WHEREの後に、列名または式を追加し、その後に演算子(LIKEなど)と比較値を追加します。 LIKEの後に、一致するパターンを入力します(この例では、WHERE user LIKE '[abrs]%' )。パターンには、文字とワイルドカードを含めることができます。

    T-SQLのワイルドカードの1つは「%」です。これは0個以上の不明な文字を表します。アンダースコアのワイルドカード(_)は1文字を示します。角かっこ([])は、一致するパターンを囲みます。このパターンには、1つ以上の文字または数字を含めることができます。ターゲット文字列は、角かっこ内の1つ以上の文字と一致する可能性があります。

    この例では、パターン'[abrs]%' ユーザー名がa、b、r、またはsのいずれかで始まる必要があることを示します。 %ワイルドカードを使用したため、開始文字の後に0個以上の文字が存在する可能性があります。

    id =2のユーザー およびid=3 表示されません。名前は「l」と「m」で始まるため、選択したパターンと一致しません。


    1. 文字列を正しい方法で分割する–または次善の方法

    2. .NETからSSISパッケージを実行する方法は?

    3. MariaDBでのTAN()のしくみ

    4. isqlで完全なエラーメッセージを取得する