重新整理了下 char 与 varchar

2018-03-14 15:37:44 +08:00
 xoxo419

varchar

可变长:指定长度后可系统自动计算存入的长度, 字符存入的长度不能超过指定的长度. eg: nickname varchar(5) 值 1: abc 那么此时长度为 3 值 2:abcefg 超出部分 g 是无法存入的. 长度上加 1 字符: 每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为 L+1 字节)

char

定长: 定好字段长度后不管存入的字符多少占用的长度都是一样的. eg: nickname char(3) 值 1: ac 占用长度为 3 值 2: abc 占用长度为 3

随便交流个问题: 如何可以查看到 varchar 存储后值的占长度?

整理的相关资料见-blog

1651 次点击
所在节点    分享发现
2 条回复
JokerQ
2018-03-14 18:03:36 +08:00
char_length ?
xoxo419
2018-03-15 08:25:27 +08:00
@JokerQ #1 统计的是值的长度, 并不是占用字段的长度.

```
SELECT char_length(b) from str;
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/437975

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX