SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

3 Cara Menemukan Baris yang Mengandung Huruf Kecil di SQLite

Berikut adalah tiga opsi untuk mengembalikan baris yang berisi karakter huruf kecil di SQLite.

Contoh Data

Misalkan kita memiliki tabel dengan data berikut:

.nullvalue null
SELECT c1 FROM t1;

Hasil:

c1            
--------------
CAFÉ          
Café          
café          
1café         
eCafé         
James Bond 007
JB 007        
007           
null          
              
É             
É 123         
é             
é 123         
ø             
Ø             

Kita dapat menggunakan metode berikut untuk mengembalikan baris yang berisi huruf kecil.

Opsi 1:Bandingkan dengan UPPER() String

Kita dapat menggunakan UPPER() fungsi untuk membandingkan nilai asli dengan ekuivalen huruf besar:

SELECT c1 FROM t1
WHERE UPPER(c1) <> c1;

Hasil:

c1            
--------------
Café          
café          
1café         
eCafé         
James Bond 007

Dengan menggunakan tidak sama dengan (<> ) operator (sebagai alternatif, Anda dapat menggunakan != bukannya <> jika Anda mau), kami hanya mengembalikan baris yang berbeda dengan persamaan huruf besar. Alasan kami melakukan ini adalah karena, jika suatu nilai sama dengan ekuivalen huruf besar, maka itu sudah menjadi huruf besar untuk memulainya (dan kami tidak ingin mengembalikannya).

SQLite melakukan pencarian peka huruf besar/kecil, sehingga kita tidak perlu melakukan hal lain untuk mendapatkan hasil yang kita inginkan.

Anda mungkin telah memperhatikan bahwa contoh di atas tidak mengembalikan karakter unicode huruf kecil é dan ø kecuali nilainya juga termasuk huruf kecil non-unicode. SQLite tidak sepenuhnya mendukung karakter unicode. Misalnya, UPPER() dan LOWER() fungsi hanya menyediakan pemetaan kasus untuk 26 huruf yang digunakan dalam bahasa Inggris. Oleh karena itu, contoh di atas tidak mengonversi karakter unicode apa pun menjadi huruf besar yang setara.

Lihatlah ekstensi SQLite ICU jika Anda perlu bekerja dengan karakter unicode.

Opsi 2:Bandingkan dengan Karakter Sebenarnya

Pilihan lainnya adalah dengan menggunakan REGEXP operator dengan pola ekspresi reguler yang secara eksplisit menyertakan setiap karakter huruf kecil yang ingin kita cocokkan:

SELECT c1 FROM t1
WHERE c1 REGEXP '[abcdefghijklmnopqrstuvwxyz]';

Hasil:

c1            
--------------
Café          
café          
1café         
eCafé         
James Bond 007

Kami dapat memasukkan karakter unicode dalam daftar kami jika kami ingin:

SELECT c1 FROM t1
WHERE c1 REGEXP '[éøabcdefghijklmnopqrstuvwxyz]';

Hasil:

c1            
--------------
Café          
café          
1café         
eCafé         
James Bond 007
é             
é 123         
ø             

Opsi 3:Bandingkan dengan Rentang Karakter

Cara lain untuk melakukannya adalah dengan menentukan rentang karakter huruf kecil yang ingin kita cocokkan:

SELECT c1 FROM t1
WHERE c1 REGEXP '[a-z]';

Hasil:

c1            
--------------
Café          
café          
1café         
eCafé         
James Bond 007

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pengecualian Null Pointer saat memanggil getReadableDatabase()

  2. SQLite pilih baris jika stempel waktu cocok dengan tanggal hari ini

  3. Paket telah diposting 50 roti panggang. Tidak ditampilkan lagi

  4. Cara mengatur setiap item yang diambil dari database SQLite menjadi Textview miliknya sendiri

  5. Kurangi Tahun dari Tanggal di SQLite