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
へ 、およびその他の文字。