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

SQLServerで値に少なくとも1つの数値が含まれているかどうかを検出する方法

    特定の列に少なくとも1つの数値を含む行のみをデータベーステーブルで検索する必要がある場合があります。

    厳密に言えば、数字は単語やその他の記号で表すことができますが、この記事では、「数字」は「数字」を意味します。

    以下は、T-SQLを使用してSQLServerで少なくとも1つの数値を含む行を検索する方法の例です。

    Productsというテーブルがあるとします。 ProductNameに次のデータが含まれています 列:

    SELECT ProductName 
    FROM Products;

    結果:

    +-------------------------------------+
    | ProductName                         |
    |-------------------------------------|
    | Left handed screwdriver             |
    | Long Weight (blue)                  |
    | Long Weight (green)                 |
    | Smash 2000 Sledgehammer             |
    | Chainsaw (includes 3 spare fingers) |
    | Straw Dog Box                       |
    | Bottomless Coffee Mugs (4 Pack)     |
    | Right handed screwdriver            |
    +-------------------------------------+

    この列には明らかに文字データが含まれていますが、一部の行にはその文字データ内に数値が含まれています(数値型として保存されていない場合でも)。

    次のクエリを使用して、数字で表された数値を含む行のみを返すことができます。

    SELECT ProductName 
    FROM Products
    WHERE ProductName LIKE '%[0-9]%';

    結果:

    +-------------------------------------+
    | ProductName                         |
    |-------------------------------------|
    | Smash 2000 Sledgehammer             |
    | Chainsaw (includes 3 spare fingers) |
    | Bottomless Coffee Mugs (4 Pack)     |
    +-------------------------------------+
    >

    予想どおり、数値を含む行のみが返されます。

    このテクニックは数字だけに限定されません。必要に応じて、このクエリを変更して他の文字を含めることができます。 LIKEに独自のパターンを指定するだけです オペレーター。


    1. 見積もりに注意を払う

    2. plpgsqlのトリガー関数の複数の列を更新します

    3. PostgreSQLBツリーインデックスに関する注意

    4. 致命的なエラー:ブール値のメンバー関数bind_param()の呼び出し