SQLite Fungsi String: REPLACE, SUBSTR, TRIM, ROUND

SQLite secara default dilengkapi dengan daftar fungsi bawaan di dalamnya SQLite perpustakaan. Anda juga dapat menambahkan beberapa fungsi khusus lainnya menggunakan bahasa C untuk memperluas fungsi inti.

Perhatikan bahwa, untuk semua contoh berikut, Anda harus menjalankan sqlite3.exe dan membuka koneksi ke database contoh seperti yang mengalir:

Langkah 1) Pada langkah ini,

  1. Buka Komputer Saya dan navigasikan ke direktori berikut “Bahasa Indonesia: C:\sqlite" lalu
  2. membuka "sqlite3.exe"

SQLite Fungsi String

Langkah 2) Buka basis data “TutorialSampleDB.db” dengan perintah berikut:

SQLite Fungsi String

Sekarang Anda siap menjalankan apa pun pertanyaan dan coba kueri apa pun yang digunakan di bagian berikut.

Menemukan PANJANG String di SQLite

Untuk mencari panjang suatu string gunakan LENGTH(X) dimana X adalah nilai string. Jika X bernilai nol, fungsi panjang akan mengembalikan nilai nol.

Anda juga dapat menggunakan fungsi panjang dengan nilai numerik untuk mendapatkan panjang nilai numerik.

Contoh:

Dalam contoh berikut, kita akan mencoba sintaks fungsi LENGTH dengan nilai sebagai berikut:

SELECT LENGTH('A string'), LENGTH(NULL), LENGTH(20), LENGTH(20.5);

Ini akan memberi Anda:

Menemukan PANJANG String di SQLite

Hasilnya adalah sebagai berikut:

  • LENGTH('A string') mengembalikan 8 yang merupakan panjang string “A string”.
  • PANJANG(NULL) mengembalikan nol.
  • LENGTH(20) menghasilkan 2, karena 20 adalah 2 panjang.
  • LENGTH(20.5) menghasilkan 4; Titik mengambang “.” dihitung sebagai karakter, jadi Anda akan memiliki empat karakter – 3 karakter yang merupakan panjang angka. Ditambah satu karakter lagi untuk titik mengambang “.”.

Mengganti kasus dengan Fungsi UPPER dan Fungsi LOWER

UPPER(X) akan mengembalikan string x yang sama, tetapi akan mewakili semua karakter string dalam karakter kapital.

LOWER(X) akan mengembalikan string x yang sama, tetapi akan mewakili semua karakter string dalam karakter kecil.

UPPER dan LOWER mengembalikan nilai null jika Anda meneruskan nilai null ke nilai tersebut.

Jika Anda meneruskan nilai numerik ke UPPER atau LOWER, keduanya akan mengembalikan nilai numerik yang tepat.

Contoh:

SELECT UPPER('a string'), LOWER('A STRING'), UPPER(20), LOWER(20), UPPER(NULL), LOWER(NULL);

Ini akan memberi Anda:

Contoh fungsi UPPER dan LOWER pada SQLite

Hasilnya adalah sebagai berikut:

  • UPPER('a string') mengembalikan string “Sebuah benang” dalam representasi huruf kapital “SEBUAH BENANG".
  • LOWER('A STRING') mengembalikan string “SEBUAH BENANG” dalam representasi huruf kecil “Sebuah benang".
  • UPPER(20), LOWER(20) mengembalikan angka yang sama, karena tidak memiliki efek apa pun pada angka.
  • UPPER(NULL), LOWER(NULL) mengembalikan null karena kita memberikan nilai null kepada mereka.

SQLite Fungsi SUBSTR

Fungsi SUBSTR mengembalikan sejumlah string tertentu, dimulai dari posisi tertentu. Anda dapat meneruskan tiga operan ke fungsi tersebut, seperti ini “SUBSTR(X,Y,Z)” sebagai berikut:

  • X adalah string literal atau kolom string yang akan diurai. Anda dapat meneruskan nilai literal (nilai statis) atau nama kolom, dan dalam hal ini, nilai akan dibaca dari nilai kolom.
  • Y adalah posisi awal untuk mengurangkan string yang dimulai darinya.
  • Z adalah jumlah karakter yang akan diurai mulai dari posisi tertentu Y. Angka ini opsional, Anda dapat mengabaikannya, dan dalam hal ini, SQLite akan mengurangi string mulai dari posisi Y memberitahukan akhir string.

Contoh:

Dalam kueri berikut, kita akan menggunakan fungsi SUBSTR untuk mendapatkan 4 karakter dimulai dari karakter kedua dari nama siswa:

SELECT StudentName, SUBSTR(StudentName, 2, 4), SUBSTR(StudentName, 2)
FROM Students;

Ini akan memberi Anda:

Contoh fungsi SUBSTR di SQLite

  • SUBSTR(Nama Siswa, 2, 4) substring string “Nama siswa” dimulai dari karakter kedua, dan kembalikan 4 karakter berikutnya.
  • Namun dalam fungsinya SUBSTR(Nama Siswa, 2) kami tidak menentukan nomor karakter yang akan dikembalikan, itu sebabnya SQLite mengembalikan semua karakter yang tersisa di "Nama siswa” mulai dari posisi kedua.

Mengubah bagian dari String dengan SQLite Fungsi GANTI

REPLACE digunakan untuk mengganti setiap string yang terjadi pada string lain dengan string.

REPLACE(X, Y, Z) – X adalah string atau kolom input. Y adalah string yang akan diganti dengan string Z. Perhatikan bahwa ini akan menggantikan setiap kemunculan string Y dengan Z, bukan hanya satu.

Contoh:

Pada query berikut, kita akan mengganti semua kemunculan string “xx” dengan tali “SQLite"

SELECT REPLACE('xx is very lightweight, xx is easy to learn', 'xx', 'SQLite');

Ini akan memberi Anda

Contoh fungsi REPLACE di SQLite

  • Fungsi ganti menggantikan semua string “xx” dengan tali “SQLite".
  • Jadi outputnya adalah "SQLite sangat ringan, SQLite mudah dipelajari”.

Memangkas ruang kosong dengan SQLite Fungsi TRIM

TRIM menghapus spasi kosong dari awal atau akhir string. Ini tidak akan menghilangkan spasi apa pun di tengah string, hanya dari awal atau akhir.

Contoh:

Dalam kueri berikut, kita akan menggunakan fungsi TRIM untuk menghapus spasi kosong di awal dan akhir string.

Perhatikan bahwa operator penggabungan “||” digunakan untuk menambahkan “;” tambahan di akhir string. Untuk menunjukkan kepada Anda bahwa spasi kosong telah dihapus di jendela hitam.

SELECT TRIM('      SQLite is easy to learn        ') || ';';

Ini akan memberi Anda:

Contoh fungsi TRIM di SQLite

  • Perhatikan bagaimana spasi kosong dihilangkan dari awal dan akhir string, diganti dengan ' ; ' pada akhirnya.

Membaca Nilai Absolut dengan SQLite Fungsi ABS

Fungsi ABS mengembalikan nilai absolut dari sebuah nilai numerik. Nilai absolut adalah nilai numerik tanpa tanda positif atau negatif. ABS(X) mengembalikan nilai yang bergantung pada nilai X seperti berikut:

  • Nilai mutlak X jika X merupakan nilai numerik.
  • Nilai NULL jika X adalah nilai nol.
  • Nilai “0.0” jika X adalah string.

Contoh:

Dalam kueri berikut, kita akan mencoba mendapatkan nilai absolut dari sebuah string, sebuah angka, dan sebuah nilai null menggunakan fungsi ABS:

SELECT ABS(-2), ABS(+2), ABS('a string'), ABS(null);

Ini akan memberi Anda:

Contoh fungsi ABS di SQLite

Hasilnya sebagai berikut:

  • ABS(-2), ABS(+2) menghasilkan 2, karena 2 adalah nilai absolut untuk “-2” dan “+2”.
  • ABS('a string') mengembalikan “0.0” karena Anda meneruskan nilai string, bukan nilai numerik.
  • ABS(null) mengembalikan null karena Anda memberikan nilai null untuk itu.

Membulatkan nilai dengan Fungsi ROUND di SQLite

Angka desimal adalah angka yang memiliki titik mengambang “.” di atasnya, misalnya, “20.5”, “8.65”. Bagian di sebelah kiri titik mengambang disebut bagian integer, dan bagian di sebelah kanan titik mengambang adalah bagian desimal.

Bilangan bulat adalah bilangan yang tidak memiliki titik mengambang di dalamnya. Misalnya, “20”, “8”.

ROUND(X) mengonversi nilai desimal atau kolom X menjadi bilangan bulat saja. Bagian bilangan bulat yang merupakan bagian di sebelah kiri titik desimal akan dikembalikan, dan semua digit di sebelah kanan titik desimal akan dihapus.

Contoh:

Dalam kueri berikut, kita akan mencoba fungsi ROUND dengan opsi yang berbeda:

SELECT ROUND(12.4354354), ROUND(12.4354354, 2), ROUND(NULL), ROUND('a string');

Ini akan memberi Anda:

Contoh fungsi ROUND di SQLite

Hasilnya sebagai berikut:

  • ROUND(12.4354354) – mengembalikan nilai “12”, karena Anda tidak menentukan jumlah digit. Jadi, SQLite menghapus semua bagian desimal.
  • ROUND(12.4354354, 2) – mengembalikan nilai “12.44”, karena Anda hanya menentukan 2 digit untuk dibulatkan yaitu dua digit di sebelah kanan koma desimal.
  • ROUND(NULL) – mengembalikan null karena Anda memberikan nilai null padanya.
  • ROUND('a string') – mengembalikan nilai “0.0” karena Anda meneruskan nilai string ke dalamnya.

Menemukan tipe data ekspresi dengan Fungsi TYPEOF

Jika Anda ingin mengetahui tipe kolom atau nilai literal, Anda dapat menggunakan fungsi TYPEOF untuk melakukannya.

Fungsi TYPEOF(X), dari namanya, mengembalikan tipe data dari ekspresi X. Fungsi ini mengembalikan nilai string yang menunjukkan tipe data X. Fungsi ini mengembalikan nilai berdasarkan tipe data, apakah itu nilai “NULL”, nyata, teks, bilangan bulat,…, dll.

Contoh:

Dalam kueri berikut, kita akan mencoba fungsi TYPEOF dengan berbagai jenis nilai literal:

SELECT TYPEOF(null), TYPEOF(12), TYPEOF(12.5), TYPEOF('a string');

Ini akan memberi Anda:

Contoh fungsi TYPEOF di SQLite

Hasil yang dikembalikan adalah sebagai berikut:

  • TYPEOF(null) – mengembalikan null karena Anda memberikan nilai null padanya.
  • TYPEOF(12) – mengembalikan bilangan bulat karena 12 adalah bilangan bulat.
  • TYPEOF(12.5) – mengembalikan REAL karena 12.5 adalah bilangan real.
  • TYPEOF('a string') – mengembalikan teks karena “a string” adalah teks.

Menemukan catatan yang terakhir disisipkan dengan SQLite TERAKHIR_INSERT_ROWID

SQLite menetapkan kunci bilangan bulat (Id) untuk semua baris di semua tabel. Nomor ini digunakan untuk mengidentifikasi baris-baris ini secara unik.

Saat Anda MEMASUKKAN baris baru pada tabel, SQLite akan memberikan nilai unik pada rowid.

Jika tabel mempunyai kunci utama yang dideklarasikan pada satu kolom saja dan kolom tersebut bertipe data INTEGER, maka nilai kolom tersebut akan digunakan sebagai rowid.

Fungsi LAST_INSERT_ROWID() mengembalikan ROW_ID dari baris terakhir yang disisipkan dalam tabel mana pun di database. Perhatikan bahwa fungsi ini tidak memerlukan operan apa pun.

Contoh:

Dalam contoh berikut kita akan menjalankan fungsi LAST_INSERT_ROWID() sebagai berikut:

SELECT LAST_INSERT_ROWID();

Ini akan memberi Anda:

Contoh fungsi LAST_INSERT_ROWID di SQLite

  • LAST_INSERT_ROWID() mengembalikan 0 karena tidak ada baris yang dimasukkan ke dalam tabel apa pun dalam koneksi database saat ini.

Sekarang, mari kita masukkan siswa baru dan jalankan fungsi LAST_INSERT_ROWID() lagi setelah pernyataan insert, seperti ini:

INSERT INTO Students VALUES(11, 'guru', 1, '1998-10-12');
SELECT LAST_INSERT_ROWID();

Ini akan memberi Anda:

Contoh fungsi LAST_INSERT_ROWID di SQLite

  • Setelah kita menyisipkan siswa baru dengan id 11, LAST_INSERT_ROWID() akan mengembalikan id baris terakhir yang disisipkan yaitu 11.

Mendapatkan versi Anda SQLite perpustakaan

Untuk mendapatkan versi Anda SQLite pustaka, Anda harus memanggil fungsi SQLITE_VERSION().

Contoh:

Mari kita cari tahu apa versinya SQLite kami menggunakan dengan menjalankan perintah berikut:

SELECT SQLITE_VERSION();

Ini akan memberi Anda:

Contoh untuk Mendapatkan versi Anda SQLite perpustakaan

SQLITE_VERSION() mengembalikan 3.9.2 yang merupakan versi SQLite kami menggunakan.

Membuat fungsi yang ditentukan pengguna dan menggabungkan fungsi yang ditentukan pengguna

Untuk beberapa pengguna, SQLite fungsi inti terbatas. Mereka mungkin perlu menambahkan fungsi khusus untuk kebutuhan khusus mereka.

SQLite tidak mendukung pembuatan fungsi yang ditentukan pengguna. Tidak seperti sistem manajemen basis data lainnya, Anda tidak dapat membuat fungsi yang ditentukan pengguna SQLite langsung.

Namun, Anda dapat membuat fungsi menggunakan bahasa pemrograman seperti C#, C, PHP, atau C++ dan melampirkan fungsi itu dengan inti SQLite fungsi di SQLite perpustakaan itu sendiri, menggunakan “sqlite3_membuat_fungsi" fungsi. Kemudian Anda dapat menggunakannya kembali di database Anda.

Contoh:

Dalam contoh berikut ini kita akan membuat fungsi yang ditentukan pengguna menggunakan C# bahasa pemrograman dan menambahkannya ke SQLite fungsi:

[SQLiteFunction(Name = "DoubleValue", Arguments = 1, FuncType = FunctionType.Scalar)]
public class DoubleValue: SQLiteFunction
{
    public override object Invoke(object[] args)
    {
        return args[0] * 2;
    }
}

Cuplikan kode ini ditulis di Bahasa Pemrograman C#; itu membuat fungsi C# menggunakan kode C#.

Nama fungsinya adalah “DoubleNilai” dibutuhkan satu parameter dan mengembalikan nilainya dikalikan 2.

Perhatikan bahwa C# secara otomatis menambahkan fungsi ini SQLite. Yang Anda butuhkan hanyalah mengkompilasi dan menjalankan kode ini. Kemudian C# akan menambahkan fungsi tersebut dengan nama yang sama ke daftar SQLite fungsi. Kemudian Anda dapat menggunakan fungsi ini di SQLite.

Cara yang sama menggunakan bahasa pemrograman seperti C#, C, PHP, atau C++, Anda juga dapat membuat agregat fungsi yang ditentukan pengguna. Yang digunakan untuk memperluas fungsi agregat di SQLite dan menggunakannya untuk membuat fungsi agregat khusus.

Ringkasan

  • SQLite menyediakan serangkaian fungsi bawaan yang komprehensif yang membuat bekerja dengan tabel dan kolom database menjadi mudah seperti yang kita lihat. Anda dapat menggunakan fungsi ini dengan kolom serta nilai literal dalam ekspresi apa pun di kueri SQL Anda.
  • Anda juga dapat menggunakan fungsi panjang dengan nilai numerik untuk mendapatkan panjang nilai numerik.
  • UPPER dan LOWER mengembalikan nilai null jika Anda meneruskan nilai null ke nilai tersebut.
  • Fungsi SUBSTR mengembalikan sejumlah string tertentu, dimulai dari posisi tertentu.
  • REPLACE digunakan untuk mengganti setiap string yang terjadi pada string lain dengan string.
  • TRIM menghilangkan spasi kosong dari awal atau akhir string.
  • Fungsi ABS mengembalikan nilai absolut dari nilai numerik.
  • ROUND(X) mengonversi nilai desimal atau kolom X menjadi angka integer saja.
  • Fungsi TYPEOF(X), dari namanya, mengembalikan tipe data dari ekspresi X.
  • Fungsi LAST_INSERT_ROWID() mengembalikan ROW_ID dari baris terakhir yang disisipkan dalam tabel mana pun di database.