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

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

    次の例では、OracleDatabaseに少なくとも1桁の数字を含むすべての行が返されます。

    サンプルデータ

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

    SELECT ProductName 
    FROM Products;

    結果:

    Left Handed Screwdriver
    Right Handed Screwdriver
    Bottomless Coffee Cup (4 pack)
    Urban Dictionary Version 2.3
    Beer Water
    10 Songs

    クエリ例

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

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

    結果:

    Bottomless Coffee Cup (4 pack)
    Urban Dictionary Version 2.3
    10 Songs

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

    Oracleでは、REGEXP_LIKE 条件はPOSIX正規表現標準に準拠しています。したがって、次のパターンで同じ結果を得ることができます。

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

    結果:

    Bottomless Coffee Cup (4 pack)
    Urban Dictionary Version 2.3
    10 Songs

    1. OracleのCOS()関数

    2. SQL Serverのデフォルトの制約名は何ですか?

    3. MySQLエラー1241:オペランドには1つの列が含まれている必要があります

    4. 実行中のSQLServerインスタンスのサーバーレベルの照合を変更する方法