我知道***char***数据类型存储固定长度的字符串。如果我在数据类型为***char(10)***的字段中存储一个5个字符的字符串会怎样?SQL将如何存储/管理该数据?
6yt4nkrj1#
它们用5个空格右填充。As the docs说:在存储CHAR值时,将用空格将其右填充到指定长度。在检索CHAR值时,除非启用了PAD_CHAR_TO_FULL_LENGTH SQL模式,否则将删除尾随空格。
| Value | CHAR(4) | Storage Required | |--------|---------|------------------| | '' | ' ' | 4 bytes | | 'ab' | 'ab ' | 4 bytes | | 'abcd' | 'abcd' | 4 bytes |
1条答案
按热度按时间6yt4nkrj1#
它们用5个空格右填充。
As the docs说:
在存储CHAR值时,将用空格将其右填充到指定长度。在检索CHAR值时,除非启用了PAD_CHAR_TO_FULL_LENGTH SQL模式,否则将删除尾随空格。