Fungsi string

Tabel berikut mencantumkan fungsi manipulasi string. Aplikasi dapat menentukan fungsi string mana yang didukung oleh driver dengan memanggil SQLGetInfo dengan jenis informasi SQL_STRING_FUNCTIONS.

Keterangan

Argumen yang ditandai sebagai string_exp dapat berupa nama kolom, karakter-string-literal, atau hasil fungsi skalar lain, di mana jenis data yang mendasarinya dapat direpresentasikan sebagai SQL_CHAR, SQL_VARCHAR, atau SQL_LONGVARCHAR.

Argumen yang ditandai sebagai character_exp adalah string karakter panjang variabel.

Argumen yang ditandai sebagai awal, panjang, atau hitungan dapat berupa numerik-literal atau hasil fungsi skalar lain, di mana jenis data yang mendasarinya dapat direpresentasikan sebagai SQL_TINYINT, SQL_SMALLINT, atau SQL_INTEGER.

Fungsi string yang tercantum di sini berbasis 1; artinya, karakter pertama dalam string adalah karakter 1.

Fungsi skalar string BIT_LENGTH, CHAR_LENGTH, CHARACTER_LENGTH, OCTET_LENGTH, dan POSISI telah ditambahkan di ODBC 3.0 untuk selaras dengan SQL-92.

Fungsi Deskripsi
ASCII(string_exp) (ODBC 1.0) Mengembalikan nilai kode ASCII dari karakter paling kiri string_exp sebagai bilangan bulat.
BIT_LENGTH(string_exp) (ODBC 3.0) Mengembalikan panjang dalam bit ekspresi string.

Tidak hanya berfungsi untuk jenis data string, oleh karena itu tidak akan secara implisit mengonversi string_exp menjadi string tetapi sebaliknya akan mengembalikan ukuran (internal) dari jenis data apa pun yang diberikannya.
CHAR(code) (ODBC 1.0) Mengembalikan karakter yang memiliki nilai kode ASCII yang ditentukan oleh kode. Nilai kode harus antara 0 dan 255; jika tidak, nilai yang dikembalikan bergantung pada sumber data.
CHAR_LENGTH(string_exp) (ODBC 3.0) Menghasilkan panjang karakter ekspresi untai (karakter), jika ekspresi untai (karakter) adalah jenis data karakter; sebaliknya, menghasilkan panjang dalam byte ekspresi untai (karakter) (bilangan bulat terkecil tidak kurang dari jumlah bit yang dibagi dengan 8). (Fungsi ini sama dengan fungsi CHARACTER_LENGTH.)
CHARACTER_LENGTH(string_exp) (ODBC 3.0) Menghasilkan panjang karakter ekspresi untai (karakter), jika ekspresi untai (karakter) adalah jenis data karakter; sebaliknya, menghasilkan panjang dalam byte ekspresi untai (karakter) (bilangan bulat terkecil tidak kurang dari jumlah bit yang dibagi dengan 8). (Fungsi ini sama dengan fungsi CHAR_LENGTH.)
CONCAT(string_exp1,string_exp2) (ODBC 1.0) Mengembalikan string karakter yang merupakan hasil dari menggabungkan string_exp2 ke string_exp1. String yang dihasilkan bergantung pada DBMS. Misalnya, jika kolom yang diwakili oleh string_exp1 berisi nilai NULL, DB2 akan mengembalikan NULL tetapi SQL Server akan mengembalikan string non-NULL.
PERBEDAAN(string_exp1,string_exp2) (ODBC 2.0) Mengembalikan nilai bilangan bulat yang menunjukkan perbedaan antara nilai yang dikembalikan oleh fungsi SOUNDEX untuk string_exp1 dan string_exp2.
INSERT(string_exp1, start, length, string_exp2) (ODBC 1.0) Mengembalikan string karakter di mana karakter panjang telah dihapus dari string_exp1, dimulai dari awal, dan di mana string_exp2 telah dimasukkan ke dalam string_exp, dimulai dari awal.
LCASE(string_exp) (ODBC 1.0) Mengembalikan string yang sama dengan dalam string_exp, dengan semua karakter huruf besar dikonversi menjadi huruf kecil.
LEFT(string_exp, count) (ODBC 1.0) Mengembalikan karakter hitungan paling kiri string_exp.
LENGTH(string_exp) (ODBC 1.0) Mengembalikan jumlah karakter dalam string_exp, tidak termasuk kosong berikutnya.

LENGTH hanya menerima string. Oleh karena itu, secara implisit akan mengonversi string_exp menjadi string, dan mengembalikan panjang string ini (bukan ukuran internal tipe data).
LOCATE(string_exp1, string_exp2[, start]) (ODBC 1.0) Mengembalikan posisi awal kemunculan pertama string_exp1 dalam string_exp2. Pencarian untuk kemunculan pertama string_exp1 dimulai dengan posisi karakter pertama dalam string_exp2 kecuali argumen opsional, mulai, ditentukan. Jika mulai ditentukan, pencarian dimulai dengan posisi karakter yang ditunjukkan oleh nilai awal. Posisi karakter pertama dalam string_exp2 ditunjukkan oleh nilai 1. Jika string_exp1 tidak ditemukan dalam string_exp2, nilai 0 dikembalikan.

Jika aplikasi dapat memanggil fungsi skalar LOCATE dengan argumen string_exp1, string_exp2, dan start , driver mengembalikan SQL_FN_STR_LOCATE saat SQLGetInfo dipanggil dengan Opsi SQL_STRING_FUNCTIONS. Jika aplikasi dapat memanggil fungsi skalar LOCATE hanya dengan argumen string_exp1 dan string_exp2 , driver mengembalikan SQL_FN_STR_LOCATE_2 ketika SQLGetInfo dipanggil dengan Opsi SQL_STRING_FUNCTIONS. Driver yang mendukung panggilan fungsi LOCATE dengan dua atau tiga argumen mengembalikan SQL_FN_STR_LOCATE dan SQL_FN_STR_LOCATE_2.
LTRIM(string_exp) (ODBC 1.0) Mengembalikan karakter string_exp, dengan kosong di depan dihapus.
OCTET_LENGTH(string_exp) (ODBC 3.0) Mengembalikan panjang dalam byte ekspresi string. Hasilnya adalah bilangan bulat terkecil tidak kurang dari jumlah bit yang dibagi 8.

Tidak hanya berfungsi untuk jenis data string, oleh karena itu tidak akan secara implisit mengonversi string_exp menjadi string tetapi sebaliknya akan mengembalikan ukuran (internal) dari jenis data apa pun yang diberikannya.
POSITION(character_expINcharacter_exp) (ODBC 3.0) Mengembalikan posisi ekspresi karakter pertama dalam ekspresi karakter kedua. Hasilnya adalah numerik yang tepat dengan presisi yang ditentukan implementasi dan skala 0.
REPEAT(string_exp,count) (ODBC 1.0) Mengembalikan string karakter yang terdiri dari string_exp waktu hitungan berulang.
REPLACE(string_exp1, string_exp2, string_exp3) (ODBC 1.0) Cari string_exp1 string_exp2, dan ganti dengan string_exp3.
RIGHT(string_exp, count) (ODBC 1.0) Mengembalikan karakter hitungan paling kanan string_exp.
RTRIM(string_exp) (ODBC 1.0) Mengembalikan karakter string_exp dengan kosong berikutnya dihapus.
SOUNDEX(string_exp) (ODBC 2.0) Mengembalikan string karakter yang bergantung pada sumber data yang mewakili suara kata-kata dalam string_exp. Misalnya, SQL Server mengembalikan kode SOUNDEX 4 digit; Oracle mengembalikan representasi fonetik dari setiap kata.
SPACE(count) (ODBC 2.0) Mengembalikan string karakter yang terdiri dari spasi hitungan .
SUBSTRING(string_exp, start, length**)** (ODBC 1.0) Mengembalikan string karakter yang berasal dari string_exp, dimulai pada posisi karakter yang ditentukan oleh awal untuk karakter panjang .
UCASE(string_exp) (ODBC 1.0) Mengembalikan string yang sama dengan dalam string_exp, dengan semua karakter huruf kecil dikonversi menjadi huruf besar.