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

Kembalikan Baris yang Hanya Mengandung Karakter Non-Alfanumerik di SQLite

Berikut adalah contoh mengembalikan baris yang hanya berisi karakter non-alfanumerik di SQLite.

Karakter non-alfanumerik mencakup karakter tanda baca seperti [email protected]#&()–[{}]:;',?/* dan simbol seperti `~$^+=<>“ , serta karakter spasi putih seperti karakter spasi atau tab.

Contoh Data

Kami akan menggunakan data berikut untuk contoh kami:

SELECT c1 FROM t1;

Hasil:

+----------------------+
| c1                   |
+----------------------+
| Music                |
| Live Music           |
| Café                 |
| Café Del Mar         |
| 100 Cafés            |
| [email protected]    |
| 1 + 1                |
| ()                   |
| [email protected]#&()–[{}]:;',?/*   |
| `~$^+=<>“            |
| $1.50                |
| Player 456           |
| 007                  |
| NULL                 |
|                      |
| é                    |
| É                    |
| é 123                |
| ø                    |
| ø 123                |
+----------------------+

Kita dapat menggunakan REGEXP operator dengan ekspresi reguler untuk mengembalikan baris yang hanya berisi karakter non-alfanumerik:

SELECT c1 FROM t1
WHERE c1 NOT REGEXP '[A-Za-z0-9]';

Hasil:

+----------------------+
| c1                   |
+----------------------+
| ()                   |
| [email protected]#&()–[{}]:;',?/*   |
| `~$^+=<>“            |
|                      |
| é                    |
| É                    |
| ø                    |
+----------------------+

Dalam hal ini, rentang pengecualian saya tidak mencakup karakter alfanumerik seperti é , É , dan ø . Contoh berikut memperluas jangkauan untuk mengecualikan karakter tersebut dari hasil:

SELECT c1 FROM t1
WHERE c1 NOT REGEXP '[A-Za-zÀ-Þß-ÿ0-9]';

Hasil:

()                
[email protected]#&()–[{}]:;',?/*
`~$^+=<>“         
                  

Tabel kami juga berisi baris dengan string kosong. Ini adalah karakter non-alfanumerik, sehingga dikembalikan dalam hasil di atas. Kita juga dapat menggunakan NULLIF() fungsi untuk mengecualikan string kosong dari output:

SELECT c1 FROM t1
WHERE NULLIF(c1, '') NOT REGEXP '[A-Za-zÀ-Þß-ÿ0-9]';

Hasil:

()                
[email protected]#&()–[{}]:;',?/*
`~$^+=<>“         
                  

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLiteAssetHelper:Tidak dapat membuka database untuk menulis (akan mencoba hanya-baca)

  2. Bagaimana cara memeriksa basis data pada perangkat android yang tidak di-root?

  3. Kembalikan Senin Pertama Setiap Bulan di SQLite

  4. Menggunakan Kunci Utama dengan TanpaRowID

  5. Aplikasi mogok saat penginstalan dengan kesalahan sqlite3_exec - Gagal menyetel mode sinkron =1(Normal)