xoxo419

重新整理了下 char 与 varchar

  •  
  •   xoxo419 · Mar 14, 2018 · 2251 views
    This topic created in 2992 days ago, the information mentioned may be changed or developed.

    varchar

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

    • 大于 varchar ( 255 )变为 tinytext
    • 大于 varchar ( 500 )变为 text
    • 大于 varchar ( 20000 )变为 mediumtext

    char

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

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

    整理的相关资料见-blog

    2 replies    2018-03-15 08:25:27 +08:00
    JokerQ
        1
    JokerQ  
       Mar 14, 2018
    char_length ?
    xoxo419
        2
    xoxo419  
    OP
       Mar 15, 2018
    @JokerQ #1 统计的是值的长度, 并不是占用字段的长度.

    ```
    SELECT char_length(b) from str;
    ```
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2461 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 01:09 · PVG 09:09 · LAX 18:09 · JFK 21:09
    ♥ Do have faith in what you're doing.