在sql server中,如果我将varchar列定义为长度为32或128,它会有所不同吗?
甲VARCHAR是可变字符字段.这意味着它可以将文本数据保存到一定长度.varchar(32)只能容纳32个字符,而varchar(128)可以容纳128个字符.如果我试图将"12345"输入到varchar(3)字段中; 这是将要存储的数据:
"123"
"45"将被"截断"(丢失).
它们在您知道某个字段最多只能(或仅应该)某个长度的情况下非常有用.例如:邮政编码或州名缩写.事实上,它们通常用于几乎所有类型的文本数据(例如名称/地址/等等) - 但在这些情况下,您必须小心,您提供的数字对于将填充的数据类型来说是理智的最大值那一栏.
但是,使用它们时也必须小心,只允许用户输入字段支持的最大字符数.否则,当它截断用户的输入时,可能会造成混淆.