SQLite substr()
fungsi memungkinkan Anda untuk mengembalikan substring dari string, berdasarkan lokasi awal yang diberikan dalam string.
Ini membutuhkan dua argumen, dan menerima argumen opsional ketiga.
Perbarui :Mulai dari SQLite 3.34.0 (dirilis pada 1 Desember 2020), substr()
sekarang dapat dipanggil substring()
untuk kompatibilitas dengan SQL Server.
Sintaks
Anda dapat memanggil substr()
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 dariY
).
Jika X
adalah string maka indeks karakter merujuk ke karakter UTF-8 yang sebenarnya. Jika X
adalah BLOB maka indeks mengacu pada byte.
Perhatikan bahwa substring()
sintaks hanya tersedia dari SQLite 3.34.0.
Contoh dengan 3 Argumen
Berikut adalah contoh dasar untuk mendemonstrasikan cara menggunakan substr()
dengan tiga argumen.
SELECT substr('Industrial', 3, 4);
Hasil:
dust
Contoh dengan 2 Argumen
Jika saya menghilangkan argumen ketiga dari contoh sebelumnya, saya mendapatkan hasil berikut.
SELECT substr('Industrial', 3);
Hasil:
dustrial
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 substr('Industrial', -3);
Hasil:
ial
Ini contoh lain, kali ini saya tentukan panjang substring.
SELECT substr('Industrial', -8, 4);
Hasil:
dust
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 substr('Industrial', -3, -4);
Hasil:
ustr
Jadi memberikan nilai negatif untuk argumen ketiga menghasilkan karakter sebelum titik awal dikembalikan.
Ini juga berlaku jika argumen kedua bernilai positif.
SELECT substr('Industrial', 7, -4);
Hasil:
dust
Contoh Basis Data
Berikut adalah contoh yang menggunakan substr()
dalam kueri basis data terhadap basis data sampel Chinook.
SELECT substr(Title, 1, 20)
FROM Album
LIMIT 10;
Hasil:
substr(Title, 1, 20) -------------------- For Those About To R Balls to the Wall Restless and Wild Let There Be Rock Big Ones Jagged Little Pill Facelift Warner 25 Anos Plays Metallica By F Audioslave