Sql menambahkan karakter ke awal string. Tentang fungsi string SQL atau cara memanipulasi teks di database MySQL

Fungsi dan operator string dasar menyediakan berbagai opsi dan mengembalikan nilai string sebagai hasilnya. Beberapa fungsi string adalah dua elemen, yang artinya dapat beroperasi pada dua string pada saat yang bersamaan. Standar SQL 2003 mendukung fungsi string.

operator gabungan

SQL 2003 mendefinisikan operator penggabungan (||) yang menggabungkan dua string terpisah menjadi satu nilai string.

Platform DB2

Platform DB2 mendukung operator penggabungan SQL 2003, serta sinonimnya, fungsi CONCAT.

platform MySQL

Platform MySQL mendukung fungsi CONCATQ, sinonim untuk operator penggabungan SQL 2003.

Oracle dan PostgreSQL

Platform PostgreSQL dan Oracle mendukung operator penggabungan bilah vertikal ganda SQL 2003.

platform SQL Server

Platform Server SQL menggunakan tanda plus (+) sebagai sinonim untuk operator penggabungan SQL 2003. SQL Server memiliki parameter sistem CONCAT_NULL_YIELDS_NULL, yang mengontrol bagaimana sistem berperilaku saat nilai NULL ditemukan saat nilai string digabungkan.

/* Sintaks SQL 2003 */

string || string2 || string3

string1string2string3

/* Untuk MySQL */

CONCAT("stringl", "string2")

Jika salah satu dari nilai gabungan adalah nol, maka string kosong dikembalikan. Juga, jika nilai numerik terlibat dalam penggabungan, secara implisit dikonversi menjadi nilai string.

SELECT CONCAT("Saya", "bologna", "memiliki", "a", "pertama", "nama…");

Bologna saya memiliki nama depan

SELECT CONCAT("Saya ", NULL, "memiliki", "pertama", "nama…");

KONVERSI dan TERJEMAHAN

Fungsi CONVERT mengubah tampilan string karakter dalam rangkaian karakter dan collation. Misalnya, fungsi CONVERT dapat digunakan untuk mengubah jumlah bit per karakter.

Fungsi TRANSLATE menerjemahkan nilai string dari satu kumpulan karakter ke kumpulan karakter lainnya. Misalnya, fungsi TRANSLATE dapat digunakan untuk mengonversi nilai dari rangkaian karakter bahasa Inggris ke rangkaian karakter Kanji (Jepang) atau Cyrillic (Rusia). Terjemahan itu sendiri harus sudah ada, baik secara default atau dibuat dengan perintah CREATE TRANSLATION.

Sintaks SQL 2003

CONVERT (character_value MENGGUNAKAN char_convert_name)

TERJEMAHAN(nilai_karakter MENGGUNAKAN nama_terjemahan)

Fungsi CONVERT mengonversi nilai karakter menjadi kumpulan karakter dengan nama yang ditentukan dalam parameter character_conversion_name . Fungsi TRANSLATE mengonversi nilai karakter ke rangkaian karakter yang ditentukan dalam translation_name.

Di antara platform yang dipertimbangkan, hanya Oracle yang mendukung fungsi CONVERT dan TRANSLATE seperti yang didefinisikan dalam standar SQL 2003. Implementasi Oracle terhadap fungsi TRANSLATE sangat mirip, tetapi tidak identik dengan, SQL 2003. Dalam implementasi ini, fungsi hanya mengambil dua argumen dan hanya menerjemahkan antara kumpulan karakter basis data dan kumpulan karakter yang mendukung lokal.

Implementasi MySQL dari fungsi CONV hanya mengubah angka dari satu basis ke basis lainnya. Namun, di SQL Server, implementasi fungsi CONVERT sangat kaya dan mengubah tipe data ekspresi, tetapi dalam semua hal lainnya berbeda dari fungsi CONVERT standar SQL 2003. Platform PostgreSQL tidak mendukung fungsi CONVERT, dan implementasi fungsi TRANSLATE mengubah semua kemunculan string karakter menjadi string karakter lainnya.

DB2

Platform DB2 tidak mendukung fungsi CONVERT, dan dukungan untuk fungsi TRANSLATE tidak sesuai dengan ANSI. Fungsi TRANSLATE digunakan untuk mengonversi substring dan secara historis identik dengan fungsi UPPER karena fungsi UPPER baru saja ditambahkan ke DB2. Jika fungsi TRANSLATE digunakan dalam DB2 dengan argumen ekspresi karakter tunggal, hasilnya adalah string yang sama yang diubah menjadi huruf besar. Jika fungsi digunakan dengan banyak argumen, seperti TRANSLATE(ucmo4HUK, replace, match), maka fungsi akan mengonversi semua karakter di sumber yang juga ada di parameter pencocokan. Setiap karakter di sumber yang berada di posisi yang sama dengan parameter yang cocok akan digantikan oleh karakter dari parameter pengganti. Di bawah ini adalah contohnya.

TRANSLATE("Halo, Dunia!") "HELLO; DUNIA!"

TRANSLATE("Halo, Dunia1", "wZ", "1W") "Hewwo, Zorwd1

MySQL

Platform MySQL tidak mendukung fungsi TRANSLATE dan CONVERT.

Peramal

Platform Oracle mendukung sintaks berikut untuk fungsi CONVERT dan TRANSLATE.

Dalam implementasi Oracle, fungsi CONVERT mengembalikan teks nilai karakter yang dikonversi ke target_character_set. Parameter character_value adalah string yang akan dikonversi, parameter target_charset adalah nama set karakter yang akan diubah stringnya, dan parameter source_charset adalah set karakter tempat nilai string awalnya disimpan.

Fungsi TRANSLATE di Oracle sesuai dengan sintaks ANSI, tetapi Anda hanya dapat memilih salah satu dari dua rangkaian karakter: rangkaian karakter basis data (CHARJCS) dan rangkaian karakter dukungan bahasa nasional (NCHARJZS).

Oracle juga mendukung fungsi lain yang juga disebut TRANSLATE (tanpa menggunakan kata kunci MENGGUNAKAN). Fungsi TRANSLATE ini tidak ada hubungannya dengan konversi kumpulan karakter.

Nama set karakter target dan sumber dapat diteruskan baik sebagai konstanta string atau sebagai referensi ke kolom tabel. Perhatikan bahwa saat mengonversi string ke kumpulan karakter yang tidak menampilkan semua karakter yang dikonversi, Anda dapat mengganti karakter wildcard.

Oracle mendukung beberapa rangkaian karakter umum, yang meliputi US7ASCII, WE8DECDEC. WE8HP, F7DEC, WE8EBCDIC500, WE8PC850u WE8ISO8859PI. Misalnya:

PILIH CONVERT("Gro2", "US7ASCII", "WE8HP") DARI GANDA;

PostgreSQL

Platform PostgreSQL mendukung pernyataan ANSI CONVERT, dan konversi dapat ditentukan di sini menggunakan perintah CREATE CONVERSION. Implementasi fungsi TRANSLATE PostgreSQL menyediakan serangkaian fungsi tambahan yang memungkinkan Anda mengonversi teks apa pun menjadi teks lain dalam string yang ditentukan.

TRANSLATE (string karakter, from_text, to_text)

Berikut beberapa contohnya:

SELECT TRANSLATE("12345abcde", "5a", "XX"); "1234XXbcde" SELECT TRANSLATE(title, "Computer", "PC") DARI judul WHERE type="Personal_computer" SELECT CONVERT("PostgreSQL" MENGGUNAKAN iso_8859_1_to_utf_8) "PostgreSQL"

Server SQL

Platform SQL Server tidak mendukung fungsi TRANSLATE. Implementasi SQL Server dari fungsi CONVERT tidak mengikuti standar SQL 2003. Fungsi ini setara dengan fungsi CAST di SQL Server.

CONVERT (tipe data[(panjang) | (presisi, skala)], ekspresi, gaya])

Gaya klausa digunakan untuk menentukan format konversi tanggal. Di belakang informasi tambahan lihat dokumentasi SQL Server. Di bawah ini adalah contohnya.

PILIH judul, CONVERT(char(7), ytd_sales) DARI judul ORDER BY title GO

Pada bagian ini, kita akan berbicara tentang fungsi bekerja dengan informasi tekstual yang dapat digunakan dalam kueri dan kode program dalam PL/SQL.

Fungsi CONCAT(strl, str2)

Fungsi ini menggabungkan string strl dan str2. Jika salah satu argumen adalah NULL, maka akan diperlakukan sebagai string kosong. Jika kedua argumen adalah NULL, maka fungsi mengembalikan NULL. Contoh:

SELECT CONCAT("Pendeta\"punya anjing") x1,
CONCATCTest" , NULL) x2,
CONCAT(NULL, "Tes") x3,
CONCAT(NULL, NULL) x4
DARI ganda

Paus memiliki seekor anjing

Untuk penggabungan string, Oracle mendukung operator penggabungan khusus "||" yang bekerja mirip dengan fungsi CONCAT, misalnya:

SELECT CONCAT("Pendeta\"punya anjing") x1, "Pendeta" || "punya anjing" x2
DARI ganda

Jangan bingung antara operator gabungan "||", yang setara dengan pemanggilan fungsi CONCAT, dan operator "+" yang digunakan dalam operasi aritmatika. Di Oracle itu operator yang berbeda, tetapi karena pengecoran tipe otomatis, kesalahan halus mungkin terjadi, misalnya:

PILIH "5" + "3" x1
DARI ganda

Dalam hal ini, nilai numerik 8 dikembalikan, bukan rangkaian teks"53". Hal ini disebabkan oleh fakta bahwa, setelah mendeteksi operasi aritmatika "+", Oracle secara otomatis mencoba memasukkan argumen ke tipe NUMBER.

Fungsi RENDAH(str).

Fungsi LOWER mengubah semua karakter string str menjadi huruf kecil. Contoh:

PILIH RENDAH("Teks DATA") X
DARI ganda

FungsiATAS(str)

Fungsi UPPER mengubah semua karakter dalam string str menjadi huruf besar. Contoh:

SELECT UPPER("Teks DATA") X
DARI ganda

INITCAP(str) fungsi

Mengembalikan string str dengan huruf pertama dari semua kata yang diubah menjadi huruf besar. Fungsi ini berguna untuk memformat nama lengkap saat membuat laporan. Contoh:

SELECT INITCAPCIvanov Petr Sidorovich") X
DARI ganda

FungsiLTRIM(str[,set])DanRTRIM(str[,set])

Fungsi LTRIM menghapus semua karakter dari awal string hingga karakter pertama yang tidak ada dalam kumpulan karakter. Secara default, set terdiri dari satu spasi dan dapat dihilangkan. Fungsi RTRIM mirip dengan LTRIM, tetapi menghapus karakter dari akhir string. Mari kita lihat beberapa contoh:

PILIH LTRIM("TeXt DATA") X1,
LTRIM(" _ # TeXt DATA", " #_") X2,
LTRIM(" 1234567890 Teks DATA", " 1234567890") X3
DARI ganda

REPLACE(str, search_str, [,replace_str]) fungsi

Fungsi REPLACE mencari pola search_str dalam string str dan mengganti setiap kejadian dengan replace_str. Secara default, replace_str adalah string kosong, jadi memanggil fungsi REPLACE dengan dua argumen akan menghapus semua kemunculan yang ditemukan. Pencarian substring peka terhadap huruf besar-kecil. Contoh:

SELECT REPLACE("Pendeta punya anjing", "anjing", "kucing") x1,
REPLACE("Pendeta memiliki anjing yang marah", "jahat") x2,
REPLACE("Pendeta punya anjing", "Anjing", "Kucing") x3
DARI ganda

Paus punya kucing

Paus memiliki seekor anjing

Paus memiliki seekor anjing

Fungsi TRANSLATE(str, from_mask, to_mask)

Fungsi TRANSLATE mem-parsing string str dan mengganti semua karakter dalam string from_mask dengan karakter yang sesuai dari to_mask. Agar fungsi berfungsi dengan benar, string from_mask dan to_mask harus memiliki panjang yang sama, atau string from_mask harus lebih panjang dari to_mask. Jika from_mask lebih panjang dari to_mask, dan selama pemrosesan string str ditemukan karakter yang cocok dengan salah satu karakter dari from_mask, dan tidak ada yang cocok untuk mereka di to_mask, maka karakter tersebut akan dihapus dari string str. Jika Anda meneruskan from_mask atau to_mask sama dengan NULL, maka fungsi tersebut akan mengembalikan NULL. Perbandingannya peka terhadap huruf besar-kecil.

PILIH TRANSLATE("Uji 12345", "e2\"E!") x1,
TRANSLATE("Uji 12345", "e234", "E") x2
DARI ganda

Fungsi ini nyaman untuk memecahkan sejumlah masalah praktis yang terkait dengan konversi karakter atau mencari karakter terlarang. Misalnya, Anda perlu menganalisis kata sandi dan mencari tahu apakah itu mengandung setidaknya satu angka. Implementasi pemeriksaan ini menggunakan TRANSLATE terlihat seperti ini:

JIKA TRANSLATE(PassWd, "0123456789", "*") = PassWd MAKA
ADD_ERR0R("Kesalahan - Kata sandi harus berisi setidaknya satu angka!");
KEMBALI 1;
BERAKHIR JIKA;

Contoh lain: sebuah angka sedang dipersiapkan untuk diubah menjadi NUMBER. Anda perlu mengganti pemisah desimal "," dan "." pada "." dan hapus spasi. Implementasi operasi ini menggunakan TRANSLATE terlihat seperti ini:

PILIH TRANSLATE("123 455.23", "., ", " . . ") x1,
TRANSLATE("-123 455.23", "., ", " . . ") x2
DARI ganda

Fungsi SUBSTR(str, m[,n])

Fungsi SUBSTR mengembalikan fragmen string str, mulai dari karakter m dengan panjang n karakter. Panjangnya dapat dihilangkan - dalam hal ini, sebuah string dikembalikan dari karakter m ke akhir string str. Karakter diberi nomor dari 1. Jika Anda menentukan m = 0, penyalinan masih akan dimulai dari karakter pertama. Menentukan nilai negatif untuk m menyebabkan karakter dihitung dari akhir string, bukan dari awal. Menentukan nilai m yang lebih besar dari panjang string dalam nilai absolut menyebabkan fungsi mengembalikan NULL.

SELECT SUBSTR("Pendeta punya anjing", 13) x1,
SUBSTR("Pendeta punya anjing", -6) x2,
SUBSTR("Ini adalah teks percobaan", 5, 8) x3,
SUBSTR("Pendeta punya anjing", 150) x4
DARI ganda

teks

Fungsi INSTR(str, search_str [,n[,m]])

Fungsi INSTR mengembalikan posisi karakter pertama m-ro dari fragmen string str yang cocok dengan string search_str. Perbandingan dibuat dari karakter ke-n dari string str, perbandingannya bersifat case-sensitive. Secara default, n = m = 1, yaitu, pencarian dilakukan dari awal string dan posisi fragmen yang ditemukan pertama dikembalikan. Jika pencarian gagal, fungsi mengembalikan 0.

SELECT INSTR("y butt adalah seekor anjing", "anjing") x1,
INSTR("pantatmu adalah seekor anjing", "kucing") x2,
INSTR("Ini adalah teks untuk mendemonstrasikan pencarian teks", "teks", 1, 2) x3,
INSTR('11111000000001", "1", 7) x4
DARI ganda

Dengan fungsi ini, serta yang lainnya di Oracle, kesalahan tipikal sering dibuat terkait dengan penanganan nilai NULL. Jika str=NULL, maka fungsi akan mengembalikan NULL, bukan nol! Ini harus diperhitungkan saat membangun berbagai kondisi. Misalnya, fragmen program PL/SQL ini tidak mempertimbangkan fitur ini:

JIKA INSTR(TXT_VAR,"*") = 0 KEMUDIAN
...
AKHIRJIKA;

Dalam hal ini, akan benar untuk menulis seperti ini:

JIKA NVL(INSTR(TXT_VAR, "*"), 0) = 0 MAKA
...
BERAKHIR JIKA;

Fungsi LENGTH(str) dan LENGTHB(str).

Fungsi LENGTH(str) mengembalikan panjang string str dalam karakter. Untuk string kosong dan nilai NULL, fungsi mengembalikan NULL, jadi disarankan untuk menggunakan NVL dengan fungsi ini.

SELECT LENGTH("Pendeta punya anjing") x1,
PANJANG("") x2,
PANJANG(NULL) x3,
NVL(PANJANG(""), 0) x4
DARI ganda

Fungsi LENGTHB mirip dengan fungsi LENGTH, tetapi mengembalikan panjang string dalam byte.

fungsi ASCII(str).

Mengembalikan kode ASCII dari karakter pertama str saat menggunakan pengkodean ASCII, dan nilai byte pertama dari karakter multibyte saat menggunakan pengkodean karakter multibyte. Contoh:

PILIH ASCII("Tes") x1 DARI ganda

fungsi CHR(n).

Mengembalikan karakter dengan kodenya.

PILIH CHR(64) x1
DARI ganda

Untuk yang lainnya. Ini memiliki sintaks berikut:

CONV(angka,N,M)

Argumen nomor ada di sistem bilangan dengan basis N. Fungsi mengubahnya menjadi sistem bilangan dengan basis M dan mengembalikan nilainya sebagai string.

Contoh 1

Kueri berikut mengonversi angka 2 dari desimal ke biner:

PILIH KONV(2,10,2);

Hasil: 10

Untuk mengonversi angka 2E dari heksadesimal ke desimal, diperlukan kueri:

SELECT CONV("2E",16,10);

Hasil: 46

Fungsi ARANG() menerjemahkan kode ASCII menjadi string. Ini memiliki sintaks berikut:

CHAR(n1,n2,n3..)

Contoh 2

PILIH CHAR(83,81,76);

Hasil: SQL

Fungsi berikut mengembalikan panjang string:

  • PANJANG(tali);
  • OCTET_LENGTH(string);
  • CHAR_LENGTH(string);
  • CHARACTER_LENGTH(string).

Contoh 3

SELECT LENGTH("MySQL");

Hasil: 5

Terkadang fitur yang berguna BIT_LENGTH(string), yang mengembalikan panjang string dalam bit.

Contoh 4

SELECT BIT_LENGTH("MySQL");

Hasil: 40

Fungsi substring

Substring biasanya merupakan bagian dari string. Seringkali Anda ingin mengetahui posisi kemunculan pertama dari sebuah substring dalam sebuah string. Ada tiga fungsi yang memecahkan masalah ini di MySQL:

  • LOCATE(substring, string [,posisi]);
  • POSISI(substring, string);
  • INSTR(string, substring).

Jika substring tidak terdapat dalam string, maka ketiga fungsi mengembalikan 0. Fungsi INSTR() berbeda dari dua lainnya dalam urutan argumennya. Fungsi LOCATE() mungkin berisi argumen ketiga posisi, yang memungkinkan Anda untuk mencari substring dalam sebuah string bukan dari awal, tetapi dari posisi yang ditentukan.

Contoh 5

SELECT LOKASI("Topaz", "Topaz");

Hasil: 31

PILIH POSISI ("Topaz", "Topaz");

Hasil: 31

SELECT INSTR("Topaz",'Topaz');

Hasil: 31

SELECT LOCATE("Topaz", "Pabrik Topaz dan LLC Topaz", 9);

Hasil: 20

SELECT LOKASI("Berlian", "Topaz");

Hasil: 0

Fungsi KIRI(baris, N) Dan KANAN(string, N) mengembalikan karakter N paling kiri dan paling kanan dalam string, masing-masing.

Contoh 6

PILIH KIRI("DBMS MySQL", 4);

Hasil: DBMS

PILIH KANAN("DBMS MySQL", 5);

Hasil: MySQL

Terkadang Anda perlu mendapatkan substring yang dimulai pada beberapa posisi tertentu. Fungsi berikut digunakan untuk ini:

  • SUBSTRING(string, posisi, N);
  • MID(string, posisi, N).

Kedua fungsi mengembalikan N karakter dari string yang diberikan, mulai dari posisi yang diberikan.

Contoh 7

SELECT SUBSTRING("DBMS MySQL adalah salah satu DBMS paling populer", 6,5);

Hasil: MySQL

Saat bekerja dengan alamat email dan alamat situs web, fungsinya sangat berguna. SUBSTR_INDEX(). Fungsi ini memiliki tiga argumen:

SUBSTR_INDEX(string, pembatas, N).

Argumen N bisa positif atau negatif. Jika negatif, maka fungsi menemukan kemunculan pembatas ke-N, dihitung dari kanan. Kemudian mengembalikan substring yang terletak di sebelah kanan pembatas yang ditemukan. Jika N positif, maka fungsi menemukan kejadian ke-N dari pembatas di sebelah kiri dan mengembalikan substring di sebelah kiri pembatas yang ditemukan.

Contoh 8

SELECT SUBSTRING_INDEX("www.mysql.ru",".",2);

Hasil: www.mysql

SELECT SUBSTRING_INDEX("www.mysql.ru",".",-2);

Hasil: mysql.com

Fungsi GANTI (string, substring1, substring2) memungkinkan Anda mengganti semua kemunculan substring1 dalam sebuah string dengan substring2.

Dari buku Registri Windows penulis Klimov A

Penyelesaian Cepat Pekerjaan jendela(Windows NT/2000/XP) Windows NT versi 3.1 dan 3.5 memungkinkan untuk menutup semua proses dalam 20 detik. Di Windows NT 3.51 dan lebih tinggi, dimungkinkan untuk menentukan jumlah waktu yang dibutuhkan sistem untuk dimatikan. Untuk melakukan ini, Anda perlu memperbaiki kuncinya

Dari buku Processing Databases on Dasar visual®.NET pengarang McManus Geoffrey P

BAB 3 Memperkenalkan SQL Server 2000 Di masa lalu, banyak programmer mulai membangun aplikasi database dengan menggunakan bahasa Visual Basic dan database SQL Server 2000. Data Microsoft Akses dengan inti Jet. Segera setelah basis data berkembang menjadi beberapa ribu catatan atau layanannya diakses oleh beberapa orang

Dari buku Skrip Windows Tuan rumah untuk Windows 2000/XP pengarang Popov Andrey Vladimirovich

Persyaratan instalasi SQL Server 2000 Untuk menginstal SQL Server 2000, Anda memerlukan komputer dengan prosesor Pentium (atau yang kompatibel) dengan frekuensi minimal 166 MHz, ruang hard disk dari 95 hingga 270 MB (270 MB untuk instalasi biasa dan 44 MB untuk Mesin Desktop), drive disk

Dari buku Apa yang tidak tertulis di buku Delphi penulis Grigoriev A.B.

Menginstal SQL Server 2000 Setelah memilih komputer dengan konfigurasi yang diinginkan, Anda dapat melanjutkan ke penginstalan. Secara umum, proses instalasi SQL Server 2000 sangat sederhana, dengan pengecualian sebagai berikut: memakan waktu lama; selama proses instalasi, banyak yang ditanyakan pada awalnya

Dari Buku Pegangan PHP penulis

Dasar-Dasar SQL Server 2000 Setelah instalasi dan memulai SQL Server harus menyelesaikan langkah-langkah berikut sebelum melanjutkan dengan mengambil atau menyimpan data: membuat satu atau lebih database; membuat tabel dalam database; membuat tampilan dan disimpan

Dari buku XSLT pengarang Holzner Stephen

Fungsi untuk Bekerja dengan Array A2.17 menunjukkan fungsi-fungsi yang dapat digunakan untuk membuat array baru dan mendapatkan informasi tentang array yang sudah ada Tabel A2.17. Array Fungsi Deskripsi Fungsi Array(arglist) Mengembalikan nilai Varian

Dari buku Linux: Panduan Lengkap pengarang Kolisnichenko Denis Nikolaevich

3.3. Seluk-beluk bekerja dengan string Pada bagian ini, kita akan melihat beberapa seluk-beluk bekerja dengan string, yang memungkinkan kita untuk lebih memahami kode apa yang dihasilkan kompiler untuk beberapa tindakan yang tampaknya mendasar. Tidak semua contoh yang diberikan di sini bekerja secara berbeda dari

Dari buku The Art of Shell Scripting Programming oleh Cooper Mendel

Dari buku Bahasa C - Panduan Pemula penulis Prata Stephen

Fungsi XPath untuk bekerja dengan string Fungsi XPath berikut untuk bekerja dengan string tersedia di XSLT: concat(string string1, string string2,...). Mengembalikan rangkaian (gabungan) dari semua string yang diteruskan ke sana; berisi(string string1, string string2). Mengembalikan nilai true jika baris pertama berisi (berisi) baris kedua

Dari buku Linux dan UNIX: pemrograman shell. Panduan Pengembang. penulis Tainsley David

23.2.2. Fungsi Memori Fungsi memori Glib melakukan tindakan yang sama dengan fungsi C yang sesuai. Berikut adalah prototipenya: gpointer g_malloc(ukuran gulong);gpointer g_realloc(gpointer mem, ukuran gulong);void g_free(gpointer

Dari buku Deskripsi Bahasa PascalABC.NET pengarang tim RuBoard

Dari buku penulis

13. Karakter string dan fungsi pada string

Dari buku penulis

FUNGSI STRING Sebagian besar pustaka C menyediakan fungsi yang beroperasi pada string. Mari kita lihat empat yang paling berguna dan umum: strlen(), strcat(), strcmp(), dan strcpy(). Kami telah menggunakan fungsi strlen(), yang menemukan panjang string.

Dari buku penulis

Dari buku penulis

Subrutin untuk bekerja dengan karakter dan string function Chr(a: byte): char; Mengonversi kode menjadi fungsi karakter yang disandikan Windows ChrUnicode(a: word): char; Mengonversi kode menjadi fungsi karakter Unicode OrdUnicode(a: char): word; Mengubah karakter menjadi kode Unicode function UpperCase(ch: char): char;

Dari buku penulis

Fungsi Warna Jenis warna Warna adalah sinonim untuk System.Drawing.Color. fungsi RGB(r,g,b: byte): Warna; Mengembalikan warna yang berisi komponen merah (r), hijau (g), dan biru (b) (r,g dan b - mulai dari 0 hingga 255) fungsi ARGB(a,r,g,b: byte): Warna ; Mengembalikan warna yang berisi

Di Sini daftar lengkap fungsi string diambil dari BOL:

Hasilnya adalah 11. Untuk mengetahui hurufnya, kita dapat menggunakan fungsi CHAR, yang mengembalikan karakter dengan kode ASCII yang diketahui (dari 0 hingga 255):

Dan inilah caranya, misalnya, Anda bisa mendapatkan tabel kode untuk semua karakter alfabet:

SELECT CHAR(ASCII("a")+ num-1) huruf, ASCII("a")+ num - 1 FROM (SELECT 5*5*(a-1)+5*(b-1) + c AS num DARI (PILIH 1 a UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5) x CROSS JOIN (PILIH 1 b UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5) y CROSS JOIN ( PILIH 1 c UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5) z) x WHERE ASCII("a")+ num -1 BETWEEN ASCII("a") AND ASCII("z")

Mereka yang belum mengetahui generasi urutan numerik, saya merujuk ke artikel yang sesuai.

Seperti yang Anda ketahui, kode huruf kecil dan huruf besar berbeda. Oleh karena itu, untuk mendapatkan set lengkap tanpa menulis ulang kueri, Anda hanya perlu menambahkan kode yang mirip dengan kode di atas:

Saya yakin tidak akan sulit untuk menambahkan surat ini ke tabel, jika diperlukan.

Pertimbangkan sekarang masalah menemukan substring yang diinginkan dalam ekspresi string. Dua fungsi dapat digunakan untuk ini - CHARINDEX Dan PATINDEX. Keduanya mengembalikan posisi awal (posisi karakter pertama substring) dari substring dalam string. Fungsi CHARINDEX memiliki sintaks:

CHARINDEX ( pencarian_ekspresi, string_expression[, posisi awal])

Berikut adalah parameter bilangan bulat opsional posisi awal menentukan posisi dalam ekspresi string yang akan dicari pencarian_ekspresi. Jika parameter ini dihilangkan, pencarian dilakukan dari awal string_expression. Misalnya permintaan

Perlu dicatat bahwa jika substring atau ekspresi string yang dicari adalah NULL, maka hasil dari fungsi tersebut juga akan menjadi NULL.

Contoh berikut menentukan posisi kemunculan pertama dan kedua dari karakter "a" pada nama kapal "California"

Dan di sini, misalnya, bagaimana Anda dapat menemukan nama kapal yang berisi urutan tiga karakter, yang pertama dan terakhir adalah "e":

Ruang uap ke KIRI fungsi BENAR mengembalikan jumlah karakter yang diberikan di sebelah kanan ekspresi string:

BENAR(<ekspresi string>,<jumlah karakter>)

Misalnya, berikut adalah cara menentukan nama kapal yang diawali dan diakhiri dengan huruf yang sama:

Di sini kita memisahkan nama kelas dan nama kapal dengan spasi. Selain itu, agar tidak mengulang seluruh konstruksi sebagai argumen fungsi, kami menggunakan subquery. Hasilnya akan terlihat seperti:

Untuk mengecualikan kasus ini, Anda dapat menggunakan satu lagi fitur yang berguna len (<ekspresi string>) , yang mengembalikan jumlah karakter dalam string. Kami membatasi diri pada kasus ketika jumlah karakter lebih dari satu:

Fungsi MENGULANGI mengisi konstanta "abcde" dengan lima spasi di sebelah kanan, yang tidak diperhitungkan oleh fungsi LEN, - dalam kedua kasus kita mendapatkan 5.
Fungsi DATAENGTH mengembalikan jumlah byte dalam representasi variabel dan menunjukkan perbedaan antara tipe CHAR dan VARCHAR. DATAENGTH akan memberi kita 12 untuk CHAR dan 10 untuk VARCHAR.
Seperti yang diharapkan, DATAENGTH untuk variabel VARCHAR, mengembalikan panjang sebenarnya dari variabel. Tapi kenapa hasilnya 12 untuk variabel tipe CHAR? Intinya adalah bahwa CHAR adalah sebuah tipe panjang tetap. Jika nilai variabel kurang dari panjangnya, dan kita mendeklarasikan panjangnya sebagai CHAR(12), maka nilai variabel akan "disejajarkan" dengan panjang yang dibutuhkan dengan menambahkan spasi tambahan.

Ada tugas di situs yang mengharuskan untuk memesan (menemukan maksimum, dll.) Dalam urutan numerik nilai yang disajikan dalam format teks. Misalnya, nomor kursi pesawat ("2d") atau kecepatan CD ("24x"). Soalnya teksnya diurutkan seperti ini (ascending)

Jika diperlukan untuk mengatur tempat dalam urutan baris yang menaik, maka urutannya harus sebagai berikut

Jika kita membatasi diri pada ini, maka kita dapatkan

Tetap menyortir



Memuat...
Atas