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

Dapatkan Posisi Karakter dalam String di SQLite dengan Instr()

Di SQLite, Anda dapat menggunakan instr() fungsi untuk mengembalikan posisi karakter tertentu dalam string.

Fungsi hanya mengembalikan posisi kemunculan karakter pertama (jika ada).

Jika karakter tidak ditemukan, maka akan mengembalikan 0.

Jika salah satu argumen adalah NULL, maka ia mengembalikan NULL.

Cara Kerjanya

instr() fungsi menerima dua argumen. Argumen pertama adalah string, dan argumen kedua adalah karakter yang ingin Anda temukan di dalam string tersebut.

Jika argumen keduanya BLOB, maka ia mengembalikan satu lebih banyak dari jumlah byte sebelum kemunculan pertama dari argumen kedua, atau 0 jika tidak terjadi di mana pun dalam argumen pertama.

Sintaksnya seperti ini:

inst(X,Y)
  • X adalah string
  • Y adalah karakternya

Contoh

Berikut ini contoh untuk didemonstrasikan.

SELECT instr('Black cat', 'a');

Hasil:

3

Di sini, saya ingin lokasi huruf a .

Dalam hal ini huruf muncul dua kali, dan instr() mengembalikan lokasi kejadian pertama.

Contoh Basis Data

Dalam contoh ini, saya akan menggunakan tabel berikut:

ProductId   ProductName    Price     
----------  -------------  ----------
1           Widget Holder  139.5     
2           Blue Widget    10.0      
3           Red Widget     10.0      
4           Green Widget   10.0      
5           Widget Stick   89.75     
6           Foo Cap        11.99     

Saya akan menelusuri ProductName kolom untuk surat.

SELECT 
  ProductName,
  instr(ProductName, 'd') 
FROM Products;

Hasil:

ProductName    instr(ProductName, 'd')
-------------  -----------------------
Widget Holder  3                      
Blue Widget    8                      
Red Widget     3                      
Green Widget   9                      
Widget Stick   3                      
Foo Cap        0                               

Perhatikan bahwa baris terakhir tidak memiliki huruf tersebut sehingga 0 dikembalikan untuk baris itu.

Nilai NULL

Seperti yang disebutkan, jika salah satu argumen adalah NULL, maka NULL akan dikembalikan.

SELECT 
  instr(NULL, 'a'),
  instr('Black cat', NULL);

Hasil:

instr(NULL, 'a')  instr('Black cat', NULL)
----------------  ------------------------
                                          


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kembalikan Senin Pertama Setiap Bulan di SQLite

  2. Bagaimana SQLite Min() Bekerja

  3. Cara Membuat Operator LIKE SQLite Case-Sensitive

  4. Perilaku Android SQLite Journal berubah?

  5. Android Studio tidak mencentang/menyoroti kueri DAO Ruang Kotlin saat string menempati lebih dari 1 baris