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

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

    次のSQLiteの例は、少なくとも1つの数字を含むすべての行を返します。

    サンプルデータ

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

    SELECT ProductName 
    FROM Products;

    結果:

    ProductName                         
    ------------------------------------
    Widget Holder (holds 5 gram widgets)
    Widget Opener                       
    Bob's "Best" Widget                 
    Blue Widget                         
    Urban Dictionary Version 1.2        
    Beer Water (375ml)                  

    クエリ例

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

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

    結果:

    ProductName                         
    ------------------------------------
    Widget Holder (holds 5 gram widgets)
    Urban Dictionary Version 1.2        
    Beer Water (375ml)                  

    数値を含む行のみが返されます。 「数字」とは、数字を意味します。数字は単語や記号で表すこともできますが、この例では数字のみを検出します。

    SQLiteでは、REGEXP 演算子は、REGEXP()の特別な構文です。 ユーザー機能。

    したがって、次のコードを使用して同じ結果を得ることができます。

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

    結果:

    ProductName                         
    ------------------------------------
    Widget Holder (holds 5 gram widgets)
    Urban Dictionary Version 1.2        
    Beer Water (375ml)                  

    1. PostgreSQLで同等のDATEADD

    2. Microsoft Accessとは何ですか?また、それを何に使用しますか?

    3. 同じサーバー上の複数のデータベース間でクエリを実行する

    4. 区切られた文字列をOracleの行に変換します