Di MariaDB, ORD()
adalah fungsi string bawaan yang mengembalikan kode karakter numerik dari karakter paling kiri dari argumen string.
ORD()
fungsi dapat menangani karakter multi-byte. Ini berbeda dengan ASCII()
fungsi, yang hanya menangani karakter bita tunggal (8 bit).
Sintaks
Sintaksnya seperti ini:
ORD(str)
Dimana str
adalah argumen string.
ORD()
akan mengembalikan kode numerik hanya paling kiri karakter string ini.
Jika karakter paling kiri adalah karakter multi-byte, ORD()
menggunakan rumus berikut untuk menghitung hasilnya:
(1st byte code)
+ (2nd byte code x 256)
+ (3rd byte code x 256 x 256) ...
Contoh
Berikut adalah contoh sederhana untuk ditunjukkan:
SELECT ORD('H');
Hasil:
+----------+| ORD('H') |+----------+| 72 |+----------+
Seperti yang disebutkan, ORD()
hanya mengembalikan kode paling kiri karakter. Oleh karena itu, berikut ini menghasilkan hasil yang sama:
SELECT ORD('Homer');
Hasil:
+-------------+| ORD('Homer') |+--------------+| 72 |+--------------+
Untuk mendemonstrasikan ini lebih lanjut, mari dapatkan kode dari setiap huruf dalam string di atas:
SELECT
ORD('H'),
ORD('o'),
ORD('m'),
ORD('e'),
ORD('r');
Hasil:
+----------+----------+----------+----------+-- --------+| ORD('H') | ORD('o') | ORD('m') | ORD('e') | ORD('r') |+----------+----------+----------+--------- -+----------+| 72 | 111 | 109 | 101 | 114 |+----------+----------+----------+----------+--- -------+
Karakter Multi-Byte
Berikut adalah contoh yang menggunakan karakter multi-byte:
SELECT ORD('©');
Hasil:
+-----------+| ORD('©') |+-----------+| 49833 |+-----------+
Sensitivitas Huruf Besar
Huruf besar memiliki nilai ASCII yang berbeda dengan padanan huruf kecilnya.
Contoh:
SELECT
ORD('H'),
ORD('h');
Hasil:
+----------+----------+| ORD('H') | ORD('h') |+----------+----------+| 72 | 104 |+----------+----------+
Contoh Basis Data
Berikut ini contoh penggunaan ORD()
dalam kueri basis data:
USE PetHouse;
SELECT
PetName,
ORD(PetName) AS 'ASCII value of leftmost character'
FROM Pets;
Hasil:
+---------+-----------------------------------+ | Nama Hewan Peliharaan | Nilai ASCII karakter paling kiri |+---------+--------------------------------- --+| Halus | 70 || Ambil | 70 || Gores | 83 || goyang | 87 || Tweet | 84 || Halus | 70 || Kulit | 66 || meong | 77 |+---------+-----------------------------------+Karakter Paling Kanan
Di sini, saya menggunakan
RIGHT()
berfungsi untuk mengembalikan karakter paling kanan dari setiap nama hewan peliharaan, dan kemudian menggunakannya lagi denganORD()
berfungsi untuk mengembalikan nilai ASCII untuk karakter tersebut.USE PetHouse; SELECT PetName, RIGHT(PetName, 1) 'Rightmost character', ORD(RIGHT(PetName, 1)) 'ASCII code' FROM Pets;
Hasil:
+---------+----------+------------+| Nama Hewan Peliharaan | Karakter paling kanan | Kode ASCII |+--------+----------+------------+| Halus | y | 121 || Ambil | h | 104 || Gores | h | 104 || goyang | g | 103 || Tweet | t | 116 || Halus | y | 121 || Kulit | k | 107 || meong | w | 119 |+---------+-----------+------------+String Kosong
Memberikan hasil string kosong di
0
dikembalikan.SELECT ORD('');
Hasil:
+---------+| ORD('') |+---------+| 0 |+---------+Nilai Null
Memberikan
null
menghasilkannull
dikembalikan.SELECT ORD(null);
Hasil:
+-----------+| ORD(null) |+-----------+| NULL |+------------+