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

SQLite SUBSTRING() Dijelaskan

Dalam SQLite, substring() adalah alias untuk substr() .

Ini mengembalikan substring dari string, berdasarkan lokasi awal yang diberikan dalam string. Diperlukan dua argumen, dan argumen opsional ketiga diterima.

substring() penamaan diperkenalkan di SQLite 3.34.0, yang dirilis pada 1 Desember 2020. Alasan mengapa substring() sintaks diperkenalkan adalah untuk kompatibilitas dengan SQL Server.

Sintaks

Jadi Anda sekarang dapat memanggil fungsi dengan salah satu cara berikut:

substr(X,Y,Z)
substr(X,Y)
substring(X,Y,Z)
substring(X,Y)
  • X adalah string lengkap yang berisi substring yang ingin Anda kembalikan.
  • Y adalah lokasi karakter pertama dari substring yang ingin Anda kembalikan dari string tersebut.
  • Z adalah jumlah karakter yang ingin Anda kembalikan. Jika dihilangkan, semua karakter berikutnya dikembalikan (mulai dari Y ).

Jika X adalah string maka indeks karakter merujuk ke karakter UTF-8 yang sebenarnya. Jika X adalah BLOB maka indeks mengacu pada byte.

Seperti disebutkan, substring() sintaks hanya tersedia dari SQLite 3.34.0.

Contoh dengan 3 Argumen

Berikut adalah contoh dasar untuk mendemonstrasikan cara menggunakan substring() dengan tiga argumen.

SELECT substring('Dolemite', 3, 4);

Hasil:

lemi

Contoh dengan 2 Argumen

Jika saya menghilangkan argumen ketiga dari contoh sebelumnya, saya mendapatkan hasil berikut.

SELECT substring('Dolemite', 3);

Hasil:

lemite

Titik Awal Negatif

Anda dapat memberikan nilai negatif untuk argumen kedua. Saat Anda melakukan ini, karakter pertama dari substring ditemukan dengan menghitung dari kanan, bukan dari kiri.

SELECT substring('Dolemite', -3);

Hasil:

ite

Ini contoh lain, kali ini saya tentukan panjang substring.

SELECT substring('Dolemite', -7, 4);

Hasil:

olem

Jadi nilai negatif memiliki efek yang sama seperti saat menggunakan substring() fungsi di MySQL. MySQL juga memiliki substr() fungsi, yang merupakan sinonim dari substring() fungsi.

Namun, ini berbeda dengan cara SQL Server memperlakukan nilai negatif. Saat Anda memberikan nilai negatif ke substring() di SQL Server, itu hanya akan mulai menghitung pada titik imajiner sebelum string dimulai.

Panjang Substring Negatif

Contoh sebelumnya menggunakan titik awal negatif. Dalam contoh ini, saya akan menggunakan panjang negatif. Maksud saya, saya akan memberikan nilai negatif untuk argumen ketiga.

SELECT substring('Dolemite', -1, -4);

Hasil:

emit

Jadi memberikan nilai negatif untuk argumen ketiga menghasilkan karakter sebelum titik awal dikembalikan.

Ini juga berlaku jika argumen kedua bernilai positif.

SELECT substring('Dolemite', 6, -4);

Hasil:

olem

Contoh Basis Data

Berikut adalah contoh yang menggunakan substring() dalam kueri basis data terhadap basis data sampel Chinook.

SELECT 
    substring(Name, 1, 10),
    Name
FROM Artist
ORDER BY Name DESC
LIMIT 10;

Hasil:

substring(Name, 1, 10)  Name                             
----------------------  ---------------------------------
Zeca Pagod              Zeca Pagodinho                   
Youssou N'              Youssou N'Dour                   
Yo-Yo Ma                Yo-Yo Ma                         
Yehudi Men              Yehudi Menuhin                   
Xis                     Xis                              
Wilhelm Ke              Wilhelm Kempff                   
Whitesnake              Whitesnake                       
Vinícius E              Vinícius E Qurteto Em Cy         
Vinícius E              Vinícius E Odette Lara           
Vinícius D              Vinícius De Moraes & Baden Powell

Dalam hal ini, saya mengembalikan sepuluh karakter pertama dari Name kolom. Saya juga mengembalikan isi lengkap Name kolom untuk membandingkan hasilnya.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android Studio 3.0 canary 1:Kesalahan sintaks SQL

  2. Grup SQLite Oleh

  3. Cara memfilter dalam hubungan satu ke banyak dengan kamar android db

  4. Mendapatkan kolom dari .sqlite yang berisi banyak tabel dengan banyak kolom

  5. Bagaimana SQLite Sum() Bekerja