sql >> データベース >  >> NoSQL >> MongoDB

SQLで数値を含まない値を検索する

    データベーステーブルに文字データを含む列があり、一部の行にも数値が含まれている場合は、次のSQLクエリを使用して、値に数値が含まれていない行のみを返すことができます。

    厳密に言えば、数字は数字、単語、その他の記号で表すことができますが、この記事では、「数字」は「数字」を意味します。そのため、数字を含まない値を見つけています。

    使用するクエリは、DBMSによって異なります。

    SQL Server

    SQL Serverでは、次のようなクエリを使用できます。

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

    ここでは、ProductNameが含まれるすべての行を返します。 列に数字は含まれていません。

    Oracle

    Oracleでは、REGEXP_LIKE()を使用できます。 機能:

    SELECT ProductName
    FROM Products 
    WHERE NOT REGEXP_LIKE(ProductName, '[0-9]+');

    この場合、返されたくない値に一致する正規表現パターンを提供します。値は実際には一致していますが、NOTを使用して一致を否定します 、つまり、一致しないものはすべて返されます。

    これを行う別の方法は、[:digit:]を使用することです。 POSIX文字クラス:

    SELECT ProductName
    FROM Products 
    WHERE NOT REGEXP_LIKE(ProductName, '[[:digit:]]');

    MySQL

    MySQLでは、NOT REGEXを使用できます 機能:

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

    別の書き方は次のようになります:

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

    または、[:digit:]を使用することもできます POSIX文字クラス:

    SELECT ProductName 
    FROM Products
    WHERE NOT (ProductName REGEXP '[[:digit:]]');

    MariaDB

    MariaDBでは、 NOT REGEXの実装を使用できます。 機能:

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

    別の書き方は次のようになります:

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

    または、[:digit:]を使用することもできます POSIX文字クラス:

    SELECT ProductName 
    FROM Products
    WHERE NOT (ProductName REGEXP '[[:digit:]]');

    PostgreSQL

    Postgresでそれを行う方法は次のとおりです:

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

    SQLite

    SQLiteでは、これを行うことができます:

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

    SQLiteでは、REGEXP 演算子は、REGEXP()の特別な構文です。 ユーザー関数なので、次のこともできます:

    SELECT ProductName 
    FROM Products
    WHERE NOT REGEXP('[0-9]+', ProductName);

    1. $unwindなしで$lookup複数レベル?

    2. MongoDBをAmazonVirtualPrivate Cloud(VPC)にデプロイする

    3. MongoParseError:オプションuseCreateIndex、useFindAndModifyはサポートされていません

    4. マングースで2つのORクエリをANDと組み合わせる