Terkadang Anda mungkin perlu mencari tabel database hanya untuk baris yang berisi setidaknya satu nomor dalam kolom tertentu.
Secara teknis, angka dapat dilambangkan dengan kata dan simbol lain, tetapi di sini “angka” berarti “digit numerik”.
Di bawah ini adalah contoh cara menemukan baris yang berisi setidaknya satu nomor dalam berbagai DBMS berbasis SQL.
SQL Server
Di SQL Server, kita dapat menggunakan LIKE
operator:
SELECT ProductName
FROM Products
WHERE ProductName LIKE '%[0-9]%';
Contoh tersebut mengembalikan ProductName
kolom dari Products
tabel di mana setidaknya ada satu digit di ProductName
kolom.
Oracle
Di Oracle, kita dapat menggunakan the REGEXP_LIKE
kondisi dengan pola ekspresi reguler:
SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[0-9]+');
REGEXP_LIKE
Oracle kondisi sesuai dengan standar ekspresi reguler POSIX. Oleh karena itu, kita bisa mendapatkan hasil yang sama dengan pola berikut:
SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[[:digit:]]');
MySQL
Di MySQL, kita bisa menggunakan REGEXP
fungsi:
SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[0-9]+';
Kami juga dapat menggunakan POSIX di MySQL:
SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[[:digit:]]';
MariaDB
MariaDB juga memiliki REGEXP
fungsi, sehingga kita dapat menggunakan kode yang sama dengan MySQL:
SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[0-9]+';
Kami juga dapat menggunakan POSIX di MariaDB:
SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[[:digit:]]';
PostgreSQL
Inilah yang setara dengan PostgreSQL:
SELECT ProductName
FROM Products
WHERE ProductName ~ '[0-9]+';
Dan padanan POSIX:
SELECT ProductName
FROM Products
WHERE ProductName ~ '[[:digit:]]';
SQLite
Dalam SQLite, kita dapat menggunakan kode berikut:
SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[0-9]+';
REGEXP
operator adalah sintaks khusus untuk REGEXP()
fungsi pengguna di SQLite.
Oleh karena itu, kita dapat menggunakan kode berikut untuk mendapatkan hasil yang sama:
SELECT ProductName
FROM Products
WHERE REGEXP('[0-9]+', ProductName);