首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么CHAR和VARCHAR在MySQL中返回相同的长度?

为什么CHAR和VARCHAR在MySQL中返回相同的长度?
EN

Stack Overflow用户
提问于 2020-11-10 04:51:21
回答 1查看 96关注 0票数 0

根据这个回答CHARVARCHAR以不同的方式返回长度。

但是当我运行这个代码

代码语言:javascript
复制
CREATE TABLE EMPLOYEE
( ID            INT,
  Var_Name      VARCHAR(5) NOT NULL,
  Char_Name     CHAR(5)    NOT NULL,
  Age           INT,
  Dnumber       INT,
  Level         INT,
  PRIMARY KEY (ID)
);

INSERT INTO EMPLOYEE (ID, Var_Name, Char_Name, Age, Dnumber, Level) VALUES(1,'Tom', 'Tom', 21, 2, 5);
INSERT INTO EMPLOYEE (ID, Var_Name, Char_Name, Age, Dnumber, Level) VALUES(2,'Lucky', 'Lucky', 22, 2, 3);
INSERT INTO EMPLOYEE (ID, Var_Name, Char_Name, Age, Dnumber, Level) VALUES(3,'Blue', 'Blue', 20, 2, 3);

SELECT Var_Name, LENGTH(Var_Name), LENGTH(Char_Name) FROM EMPLOYEE

输出:

代码语言:javascript
复制
Var_Name    LENGTH(Var_Name)    LENGTH(Char_Name)
Tom         3                   3
Lucky       5                   5
Blue        4                   4

我认为输出应该是这样的:

代码语言:javascript
复制
Var_Name    LENGTH(Var_Name)    LENGTH(Char_Name)
Tom         3                   5
Lucky       5                   5
Blue        4                   5

为什么CHARVARCHAR返回相同的长度?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-10 04:56:17

MySQL 8.0参考手册/./ CHAR和VARCHAR类型

CHAR列的长度固定在创建表时声明的长度。长度可以是0到255之间的任意值。当存储CHAR值时,它们将以指定长度的空格填充.检索CHAR值时,除非启用PAD_CHAR_TO_FULL_LENGTH SQL模式,否则将移除尾随空格。

小提琴

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64763068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档