Di MySQL, CHAR()
fungsi mengembalikan karakter untuk setiap bilangan bulat yang diteruskan. Dengan kata lain, Anda dapat meneruskan satu atau lebih bilangan bulat, dan fungsi akan menafsirkannya sebagai nilai kode untuk karakter string dan mengembalikan string yang sesuai untuk setiap nilai kode.
Sintaks
Sintaksnya seperti ini:
CHAR(N,... [USING charset_name])
Dimana N,...
adalah satu atau lebih bilangan bulat, dan USING charset_name
adalah argumen opsional yang dapat Anda gunakan untuk menentukan set karakter yang akan digunakan.
Contoh 1 – Penggunaan Dasar
Berikut adalah contoh untuk mendemonstrasikan penggunaan dasar:
SELECT CHAR(67, 97, 116);
Hasil:
+-------------------+ | CHAR(67, 97, 116) | +-------------------+ | Cat | +-------------------+
Jadi jika kita mengubah salah satu bilangan bulat, kita mendapatkan string yang berbeda:
SELECT CHAR(66, 97, 116);
Hasil:
+-------------------+ | CHAR(66, 97, 116) | +-------------------+ | Bat | +-------------------+
Contoh 2 – Klausa PENGGUNAAN
Berikut ini contoh penambahan USING
klausa untuk menentukan pengkodean UTF-8:
SELECT CHAR(0xc2a9 USING utf8);
Hasil:
+-------------------------+ | CHAR(0xc2a9 USING utf8) | +-------------------------+ | © | +-------------------------+
Dan inilah contoh lain di mana saya menentukan titik kode unicode:
SELECT CHAR(0x027FE USING ucs2);
Hasil:
+--------------------------+ | CHAR(0x027FE USING ucs2) | +--------------------------+ | ⟾ | +--------------------------+
Contoh 3 – Beberapa Byte Hasil
Argumen yang lebih besar dari 255 diubah menjadi beberapa byte hasil. Berikut ini contoh untuk didemonstrasikan.
SELECT HEX(CHAR(1,0)), HEX(CHAR(256)), HEX(CHAR(1,1)), HEX(CHAR(257));
Hasil:
+----------------+----------------+----------------+----------------+ | HEX(CHAR(1,0)) | HEX(CHAR(256)) | HEX(CHAR(1,1)) | HEX(CHAR(257)) | +----------------+----------------+----------------+----------------+ | 0100 | 0100 | 0101 | 0101 | +----------------+----------------+----------------+----------------+
Dan jika kita menambah jumlahnya:
SELECT HEX(CHAR(7,0)), HEX(CHAR(1792)), HEX(CHAR(7,7)), HEX(CHAR(1799));
Hasil:
+----------------+-----------------+----------------+-----------------+ | HEX(CHAR(7,0)) | HEX(CHAR(1792)) | HEX(CHAR(7,7)) | HEX(CHAR(1799)) | +----------------+-----------------+----------------+-----------------+ | 0700 | 0700 | 0707 | 0707 | +----------------+-----------------+----------------+-----------------+