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

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

    MySQLで少なくとも1つの数字を含むすべての行を返す必要がある場合は、次の例が役立つ場合があります。

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

    SELECT ProductName 
    FROM Products;

    結果:

    +-------------------------------------+
    | ProductName                         |
    +-------------------------------------+
    | Left handed screwdriver             |
    | Right handed screwdriver            |
    | Long Weight (blue)                  |
    | Long Weight (green)                 |
    | Smash 2000 Sledge Hammer            |
    | Chainsaw (Includes 5 spare fingers) |
    | Straw Dog Box                       |
    | Bottomless Coffee Mugs (4 Pack)     |
    +-------------------------------------+
    >

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

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

    SELECT ProductName 
    FROM Products
    WHERE ProductName REGEXP '[0-9]+';

    結果:

    +-------------------------------------+
    | ProductName                         |
    +-------------------------------------+
    | Smash 2000 Sledge Hammer            |
    | Chainsaw (Includes 5 spare fingers) |
    | Bottomless Coffee Mugs (4 Pack)     |
    +-------------------------------------+
    >

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

    この場合、MySQLのREGEXPを使用しました パターンに一致するすべての行を検索する関数。パターンには、0からのすべての数字が含まれます 9へ 、およびその他の文字。


    1. アップグレードの問題中に破損したSQLデータベースを修正

    2. サーバー側の拡張機能を構築するためにpostgresql-server-dev-X.Yをインストールするか、クライアント側のアプリケーションを構築するためにlibpq-devをインストールする必要があります

    3. コマンドラインからPostgreSQLクエリを実行する

    4. MySQLに配列を保存する方法は?