PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Mendeteksi Apakah Nilai Berisi Setidaknya Satu Digit Numerik di PostgreSQL

Contoh berikut mengembalikan semua baris yang berisi setidaknya satu digit numerik di PostgreSQL.

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 berisi angka yang diwakili oleh angka numerik:

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

Hasil:

           productname           
---------------------------------
 Bottomless Coffee Mugs (4 Pack)
 Smash 2000 Sledge Hammer
 Chainsaw (3 spare fingers)

Seperti yang diharapkan, hanya baris yang berisi angka yang dikembalikan.

Di PostgreSQL, ~ adalah operator case-sensitive untuk mencocokkan ekspresi reguler yang diberikan. Untuk kecocokan yang tidak peka huruf besar/kecil, gunakan ~* .

Anda dapat menggunakan !~ untuk mengembalikan semua baris yang tidak cocok dengan ekspresi reguler (dan !~* untuk kecocokan yang tidak peka huruf besar/kecil).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Melakukan transaksi saat menjalankan Fungsi postgreql

  2. Kolom Postgresql Tidak Ditemukan, Tetapi Ditampilkan di Deskripsi

  3. Mengabaikan zona waktu sama sekali di Rails dan PostgreSQL

  4. apa itu @JoinColumn dan bagaimana menggunakannya di Hibernate

  5. Bagaimana cara menambahkan kolom jika tidak ada di PostgreSQL?