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

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

    MariaDBを使用している場合、少なくとも1桁の数字を含むすべての行を返す必要がある場合があります。

    このような場合、次の例が役立つ場合があります。

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

    SELECT ProductName 
    FROM Products;

    結果:

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

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

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

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

    結果:

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

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

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


    1. SQL ServerデータベースをMySQLにエクスポートする方法は?

    2. OAuthを使用してSalesforce.comへのODBC接続を認証する

    3. SQLの順序:プロのようにデータを並べ替える5つの推奨事項と禁止事項

    4. MYSQLのLIKEと=の違いは?