Contoh berikut menampilkan semua baris yang tidak berisi angka apa pun di PostgreSQL.
Angka dapat diwakili oleh kata-kata dan simbol lainnya, tetapi untuk artikel ini "angka" berarti "digit numerik". Jadi kami menemukan nilai yang tidak mengandung angka numerik.
Contoh
Misalkan kita memiliki tabel bernama Products
dengan data berikut di ProductName
its kolom:
SELECT ProductName
FROM Products;
Hasil:
productname --------------------------------- Left handed screwdriver Right handed screwdriver Long Weight (blue) Long Weight (green) Straw Dog Box Bottomless Coffee Mugs (4 Pack) Smash 2000 Sledge Hammer Chainsaw (3 spare fingers)
Kolom ini berisi data karakter, tetapi beberapa baris berisi angka di dalam data karakter tersebut (meskipun tidak disimpan sebagai tipe numerik).
Kita dapat menggunakan kueri berikut untuk mengembalikan hanya baris yang tidak berisi angka numerik:
SELECT ProductName
FROM Products
WHERE ProductName !~ '[0-9]+';
Hasil:
productname -------------------------- Left handed screwdriver Right handed screwdriver Long Weight (blue) Long Weight (green) Straw Dog Box (5 rows)
Seperti yang diharapkan, hanya baris yang tidak berisi angka numerik yang dikembalikan.
Di PostgreSQL, !~
adalah operator peka huruf besar/kecil yang digunakan untuk mengembalikan nilai yang tidak cocok dengan ekspresi reguler yang diberikan. Untuk kecocokan yang tidak peka huruf besar/kecil, gunakan !~*
.
Anda dapat menggunakan ~
untuk mengembalikan semua baris yang lakukan cocok dengan ekspresi reguler (dan ~*
untuk kecocokan yang tidak peka huruf besar/kecil).