Di MariaDB, OCTET_LENGTH()
adalah fungsi string bawaan yang mengembalikan panjang argumen string yang diberikan, diukur dalam oktet (byte).
OCTET_LENGTH()
adalah sinonim untuk LENGTHB()
.
Ini juga merupakan sinonim untuk LENGTH()
ketika tidak dalam mode Oracle (LENGTH()
berperilaku berbeda dalam mode Oracle).
Sintaks
Sintaksnya seperti ini:
OCTET_LENGTH(str)
Dimana str
adalah string yang panjangnya akan dikembalikan.
Contoh
Berikut ini contoh dasarnya:
SELECT OCTET_LENGTH('café');
Hasil:
+-----------------------+ | OCTET_LENGTH('café') | +-----------------------+ | 5 | +-----------------------+
Dalam hal ini, panjang string adalah empat karakter, tetapi OCTET_LENGTH()
mengembalikan 5
. Ini karena karakter terakhir menggunakan dua oktet/byte.
Perbandingan dengan CHAR_LENGTH()
dan BIT_LENGTH()
Berikut perbandingan singkat antara OCTET_LENGTH()
, CHAR_LENGTH()
(yang mengembalikan jumlah karakter dalam string) dan BIT_LENGTH()
(yang mengembalikan jumlah bit dalam string):
SELECT
OCTET_LENGTH('อ'),
CHAR_LENGTH('อ'),
BIT_LENGTH('อ');
Hasil:
+---------------------+--------------------+-------------------+ | OCTET_LENGTH('อ') | CHAR_LENGTH('อ') | BIT_LENGTH('อ') | +---------------------+--------------------+-------------------+ | 3 | 1 | 24 | +---------------------+--------------------+-------------------+
Karakter Thailand ini (อ
) menggunakan 3 byte, dan karenanya OCTET_LENGTH()
mengembalikan 3
.
CHAR_LENGTH()
mengembalikan jumlah karakter (1
), dan BIT_LENGTH()
mengembalikan jumlah bit (24
).
Non-String
Jika argumennya bukan string, itu akan diubah menjadi string.
Berikut contoh lain yang menggunakan angka:
SELECT OCTET_LENGTH(1234);
Hasil:
+--------------------+ | OCTET_LENGTH(1234) | +--------------------+ | 4 | +--------------------+
Argumen Null
Melewati null
mengembalikan null
:
SELECT OCTET_LENGTH(null);
Hasil:
+--------------------+ | OCTET_LENGTH(null) | +--------------------+ | NULL | +--------------------+
Argumen Tidak Ada
Memanggil OCTET_LENGTH()
tanpa meneruskan argumen menghasilkan kesalahan:
SELECT OCTET_LENGTH();
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'OCTET_LENGTH'