sql >> Databasteknik >  >> RDS >> SQLite

Upptäck om ett värde innehåller minst en numerisk siffra i SQLite

Följande SQLite-exempel returnerar alla rader som innehåller minst en numerisk siffra.

Exempeldata

Anta att vi har en tabell som heter Products med följande data i dess ProductName kolumn:

SELECT ProductName 
FROM Products;

Resultat:

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

Exempelfråga

Vi kan använda följande fråga för att returnera bara de rader som innehåller siffror som representeras av numeriska siffror:

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

Resultat:

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

Endast de rader som innehåller siffror returneras. Med "siffror" menar jag numeriska siffror. Siffror kan också representeras av ord eller symboler, men det här exemplet identifierar bara siffror.

I SQLite, REGEXP operatorn är en speciell syntax för REGEXP() användarfunktion.

Därför kan vi använda följande kod för att få samma resultat:

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

Resultat:

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

  1. Oracle 11g Express Edition för Windows 64bit?

  2. Lista över alla index- och indexkolumner i SQL Server DB

  3. JSON_KEYS() – Returnera nycklarna från ett JSON-objekt i MySQL

  4. Hantera den samtidiga förfrågan medan du kvarstår i Oracle-databasen?