Char y Varchar

Jos?
10 de Noviembre del 2009
Hola a todos. Tengo una pregunta tecnica: ¿Cuál es la diferencia entre el tipo de datos char y varchar? Necesito velocidad de acceso y almacenamiento (cuánto ocupa fisicamente en la base de datos).
Muchas Gracias
José

Marco
10 de Noviembre del 2009
Basicamente la diferencia es que el varchar ocupa más espacio en la bd ya que tiene que guardar el espacio de los caracteres que indiques y el varchar solo hace uso de los bytes que usa, es decir si defines un varchar(10) y escribes "hola" solo va a ocupar 4 bytes y no los 10 definidos. Y bueno en el puede almacenar hasta 800 bytes. Esto es en la SQL Server 2000.
http://www.dbasupport.com.mx

FRANK
10 de Noviembre del 2009
Por ejemplo, si defines
A: Char(10) y
B: Varchar(10)

y a ambas le asignas "HOLA", te quedan

A = "HOLA "
B = "HOLA"

Es decir, el varchar se ajusta automaticamente al largo real del string (Si tratas de comparar ambas variables te dará False)

FRANK
10 de Noviembre del 2009
Repito el anterior, ya que el html me comió los blancos:

Por ejemplo, si defines
A: Char(10) y
B: Varchar(10)

y a ambas le asignas "HOLA", te quedan

A = "HOLA      "
B = "HOLA"

Es decir, el varchar se ajusta automaticamente al largo real del string (Si tratas de comparar ambas variables te dará False)


FRANK
10 de Noviembre del 2009
Repito el anterior, ya que el html me comió los blancos:

Por ejemplo, si defines
A: Char(10) y
B: Varchar(10)

y a ambas le asignas "HOLA", te quedan

A = "HOLA "
B = "HOLA"

Es decir, el varchar se ajusta automaticamente al largo real del string (Si tratas de comparar ambas variables te dará False)