当你存入的数据长度固定的时候用char,
不固定的时候用varchar比方说:
存放1位的标志位,用char(1)
不用datetime而用8位字符存放日期那么用char(8)存放备注或者说明,因为事先并不知道会有多少。 那么用varchar(200)
但是备注或者说明最好用nvarchar,以便和国际接轨。char的好处是速度快,但是未存满,它会补空格。
varchar的好处是变长,未存满不会不空格,以便节省存储空间。
不固定的时候用varchar比方说:
存放1位的标志位,用char(1)
不用datetime而用8位字符存放日期那么用char(8)存放备注或者说明,因为事先并不知道会有多少。 那么用varchar(200)
但是备注或者说明最好用nvarchar,以便和国际接轨。char的好处是速度快,但是未存满,它会补空格。
varchar的好处是变长,未存满不会不空格,以便节省存储空间。
解决方案 »
- 创建作业问题
- 有没有设置数据库 使用恢复模型 的存储过程?
- 请问下面函数中select语句列名不固定,如何实现取得相应列的值?
- 运行程序时,用sqlserver事件探查器,发现有很多exec sp_reset_connection与exec sp_cursorfetch 18015000,16,n,n的过程执行.能不能优化
- 建表后上哪找。。。。(在线等)
- 向临时表动态添加的列为什么不能马上查询呢?
- 高分寻求做智能卡要用到C/C++、数据库中的哪些技术或其他相关技术均可,回答均有分
- 关于jet引擎?ISAM用什么软件编辑?
- 数据库误删除如何恢复?在线等待......(分不是问题)
- VC用ADO做DLL的问题(附代码)请指导!!! ----急送分
- 帮忙看看Sql怎么写(在线等待)
- 我的 SQL SERVER怎么突然间变慢了。
不固定的时候用varchar比方说:
存放1位的标志位,用char(1)
不用datetime而用8位字符存放日期那么用char(8)存放备注或者说明,因为事先并不知道会有多少。 那么用varchar(200)
但是备注或者说明最好用nvarchar,以便和国际接轨。char的好处是速度快,但是未存满,它会补空格。
varchar的好处是变长,未存满不会不空格,以便节省存储空间。
不固定的时候用varchar比方说:
存放1位的标志位,用char(1)
不用datetime而用8位字符存放日期那么用char(8)存放备注或者说明,因为事先并不知道会有多少。 那么用varchar(200)
但是备注或者说明最好用nvarchar,以便和国际接轨。char的好处是速度快,但是未存满,它会补空格。
varchar的好处是变长,未存满不会不空格,以便节省存储空间。
不固定的时候用varchar
一般的譬如标题的——varchar
文本的——text
如果希望列中的数据值大小接近一致,请使用 char。如果希望列中的数据值大小显著不同,请使用 varchar。 如果执行 CREATE TABLE 或 ALTER TABLE 时 SET ANSI_PADDING 为 OFF,则一个定义为 NULL 的 char 列将被作为 varchar 处理。 联机帮助
char类似于C++\C#中的char,不同的是sql server中的char的长度>=1
varchar类似于C++\C#中的string
呵呵,不知道有没有道理。
定常char
变长varchar
不固定的时候用varchar
ANSI_PADDING当设置为 ON 时,不剪裁字符值中插入到 varchar 列的尾随空格和二进制值中插入到 varbinary 列的尾随零。不将值按列的长度进行填充。当设置为 OFF 时,剪裁 varchar 列的尾随空格和 varbinary 列的尾随零。该设置只影响新列的定义。 SET ANSI_PADDING 为 ON 时,将允许空值的 Char(n) 和 binary(n) 列填充到列长,而当 SET ANSI_PADDING 为 OFF 时,将剪裁尾随空格和零。始终将不允许空值的 Char(n) 和 binary(n) 列填充到列长。 重要 建议始终将 ANSI_PADDING 设置为 ON。在计算列或索引视图上创建或操作索引时,SET ANSI_PADDING 必须为 ON。 此选项的状态可通过检查 DATABASEPROPERTYEX 函数的 IsAnsiPaddingEnabled 属性来确定。
===========================================================
这是SQL Server 2000 Help上写的,是不是VarChar在做Index时效果比较差?因为如果SET ANSI_PADDING =ON,那不就和Char差不多了,其实Char与VarChar的差别对于开发人员来说最大的差别就是会不会自动填充Space,否这对于一个几百兆的数据库,磁盘空间更本算不了什么,不知道我说的对不对
Varchar要灵活得多,可扩展性好