首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 查看字段長度實戰:LENGTH() 函數與 VARBINARY 示例

     編輯:MySQL 綜合教學

MySQL 查看字段長度實戰:LENGTH() 函數與 VARBINARY 示例

在優化存儲或排查數據截斷問題時,常需確認字段實際佔用的字節長度。MySQL 提供 LENGTH() 函數返回字符串的字節長度(非字符數)。

快速驗證範例

CREATE TABLE tmp13(vb VARBINARY(10));
INSERT INTO tmp13 (vb) VALUES(12);
SELECT LENGTH(vb) FROM tmp13;  -- 返回 2
INSERT INTO tmp13 (vb) VALUES(1212);
SELECT LENGTH(vb) FROM tmp13;  -- 返回 4

關鍵點說明

  • VARBINARY(N):儲存二進制字節,最大 N 字節,不按字符集處理,LENGTH() 直接返回實際字節數。
  • VARCHAR(N):若字符集為 UTF8MB4,單字符最多 4 字節,LENGTH() 返回字節數,CHAR_LENGTH() 返回字符數。
  • 區別: LENGTH() = 字節長度;CHAR_LENGTH() = 字符長度。

實務建議

  1. 排查「Data too long」錯誤時,用 SELECT MAX(LENGTH(col)) FROM tbl 確認實際最大字節數。
  2. 定義列長度時,按「最大字符數 × 字符集最大字節數」預留空間(如 UTF8MB4 預留 4 倍)。
  3. 二進制數據(圖片、加密串)優先用 VARBINARY 或 BLOB,避免字符集轉換開銷。

一句話總結: 用 LENGTH() 看字節,用 CHAR_LENGTH() 看字符,字符集不同結果可能大相徑庭。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved