MySQL BIT_LENGTH() 函式



MySQL 的 BIT_LENGTH() 函式用於查詢字串的位元長度。此函式接受一個字串作為輸入,並返回該字串的位元長度。如果輸入字串為 NULL,則返回 NULL 作為結果。如果輸入字串為空字串,則此函式返回 0 作為結果。

當處理二進位制資料時,此函式非常有用,因為它允許您確定儲存給定字串所需的位元數。

語法

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

BIT_LENGTH(str)

引數

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

返回值

此函式返回給定值的字串長度。

示例

以下是 MySQL BIT_LENGTH() 函式的示例。在這裡,我們檢索字串“Tutorialspoint”的長度:

SELECT BIT_LENGTH('Tutorialspoint');

以下是上述程式碼的輸出:

BIT_LENGTH('Tutorialspoint')
112

示例

以下是另一個使用不同字串的示例:

SELECT BIT_LENGTH('Test');

上述程式碼的輸出如下所示:

BIT_LENGTH('Test')
32

示例

如果將數值作為引數傳遞,則此函式返回表示該值所需的位元數:

SELECT BIT_LENGTH(2254);

獲得的輸出為 32,因為 2254 需要 32 個位元(每位 8 個位元)來表示:

BIT_LENGTH(2254)
32

示例

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

SELECT BIT_LENGTH('');

產生的結果如下:

BIT_LENGTH('')
0

示例

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

SELECT BIT_LENGTH(NULL);

我們得到以下輸出:

BIT_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 如下所示:

name marks grade
Raju 80 A
Rahman 60 B
Robert 45 C

以下查詢檢索 STUDENTS_TABLE 中每個學生的姓名的長度:

SELECT *, BIT_LENGTH(name) FROM STUDENTS_TABLE;

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

name marks grade BIT_LENGTH(name)
Raju 32 80 A
Rahman 48 60 B
Robert 48 45 C
mysql-bit-length-function.htm
廣告