Microsoft Sql中char和varchar的区别与联系

char 数据类型是固定长度数据类型。如果一个比列的长度小的值被插入到 char NOT NULL 列中,则值的右边以空格填补剩余的位置。

varchar 是可变长度的数据类型。比列的长度小的值,不会按照列的长度在其右边填补。当创建列时,如果 ANSI_PADDING 选项设为 OFF,则所有存储在列中的字符值的尾随空格都将被截断。当创建列时,如果 ANSI_PADDING 设为 ON,则尾随空格不被截断。

看起来没有什么大问题,将文本写入数据库就看出来了:如果写入char的字段,文字长度比字段宽度小会在字段中补上空格,读取出来也是带空格的,所以有的时候会发现下拉列表框点选的时候正常,选完后却少字。。。嘿嘿,新手。

原文地址:https://www.cnblogs.com/gwjtssy/p/2096600.html