sql语句的中定长字符char的疑问

这个char 限定字符不是一定要达到3个吗,不达到3个要用半角空格补,但我这个输的时候,没补,却是正确的,这是为什么啊

img

img

你对char的定长理解可能有点问题。
char(3)是指不管你存1个2个还是3个字符,它的存储上都占了3个字符,不足部分的空白字符是它自动补上去的;
而可变长字符串varchar则是你存多长,存储上就占用多长,这样比较节省空间