MySQL OCTET_LENGTH() 函式



MySQL 的 OCTET_LENGTH() 函式返回提供的字串的長度(以位元組為單位)。

如果將多位元組字元作為引數傳遞,此函式將其計為單個字元並相應地返回長度值。如果將 NULL 傳遞給此函式,則返回 NULL 作為結果。

MySQL OCTET_LENGTH() 是函式 LENGTH() 的同義詞。

語法

以下是 MySQL OCTET_LENGTH() 函式的語法:

OCTET_LENGTH(str)

引數

此函式將字串或二進位制值作為引數。

返回值

此函式返回提供的輸入中的位元組數。

示例

在以下示例中,我們使用 OCTET_LENGTH() 函式來確定字串“tutorialspoint”的位元組長度:

SELECT OCTET_LENGTH('tutorialspoint');

以上程式碼的輸出如下:

OCTET_LENGTH('tutorialspoint')
14

示例

當您將數值作為引數傳遞時,此函式會計算給定值中的位數並返回該計數:

SELECT OCTET_LENGTH(225);

獲得的輸出如下:

OCTET_LENGTH(225)
3

示例

如果將空字串作為引數傳遞,則函式返回 0:

SELECT OCTET_LENGTH('');

我們得到如下輸出:

OCTET_LENGTH('')
0

示例

當您將 NULL 值作為引數傳遞時,函式返回 NULL:

SELECT OCTET_LENGTH(NULL);

產生的結果如下所示:

OCTET_LENGTH(NULL)
NULL

示例

您還可以將表的列名作為引數傳遞給此函式,並獲取特定列中值的長度。

讓我們建立一個名為“STUDENTS_TABLE”的表,並使用 CREATE 和 INSERT 語句向其中插入記錄,如下所示:

CREATE TABLE STUDENTS_TABLE (
   name VARCHAR(15),
   marks INT,
   grade CHAR
);

現在,讓我們使用 INSERT 語句向其中插入記錄:

INSERT INTO STUDENTS_TABLE VALUES 
('Raju', 80, 'A'),
('Rahman', 60, 'B'),
('Robert', 45, 'C');

獲得的 STUDENTS_TABLE 如下:

姓名 分數 等級
Raju 80 A
Rahman 60 B
Robert 45 C

以下查詢從“STUDENTS_TABLE”中檢索學生姓名的長度:

SELECT name, OCTET_LENGTH(name), marks, OCTET_LENGTH(marks), grade  
FROM STUDENTS_TABLE;

執行上述程式碼後,我們得到以下輸出:

姓名 OCTET_LENGTH(姓名) 分數 OCTET_LENGTH(分數) 等級
Raju 4 80 2 A
Rahman 6 60 2 B
Robert 6 45 2 C
mysql-octet-length-function.htm
廣告