Campo bool o booleano en tabla de sql server

09/09/2008 - 16:48 por Pedro | Informe spam
Quiero un campo en una tabla que me represente un flag o valor bool (true o
false). Cuales es la mejor alternativa? Bit? Tinyint? Char?

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera (MVP)
09/09/2008 - 19:16 | Informe spam
Por una cuestion de gusto personal, prefiero usar el tipo BIT.

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Pedro" wrote:

Quiero un campo en una tabla que me represente un flag o valor bool (true o
false). Cuales es la mejor alternativa? Bit? Tinyint? Char?




Respuesta Responder a este mensaje
#2 Rubén Garrigós
09/09/2008 - 20:14 | Informe spam
Hola Pedro,

Yo también te recomiendo el tipo bit por motivos técnicos. El almacenamiento
en SQL Server de los campos de tipo bit en una tabla se realiza de forma
empaquetada. Esto quiere decir que aunque tengamos 8 campos de tipo bit en la
misma tabla el espacio que nos ocupa físicamente seguirá siendo el mismo (se
consume únicamente 1 byte por cada 8 columnas de dicho tipo).

Rubén Garrigós
Solid Quality Mentors

"Pedro" wrote:

Quiero un campo en una tabla que me represente un flag o valor bool (true o
false). Cuales es la mejor alternativa? Bit? Tinyint? Char?




Respuesta Responder a este mensaje
#3 Pedro
09/09/2008 - 20:22 | Informe spam
Cierta vez leí algo sobre que por la portabilidad o algo parecido no se
recomendaban los campos Bit.
Es cosa del pasado me imagino.


"Rubén Garrigós" escribió en el
mensaje news:
Hola Pedro,

Yo también te recomiendo el tipo bit por motivos técnicos. El
almacenamiento
en SQL Server de los campos de tipo bit en una tabla se realiza de forma
empaquetada. Esto quiere decir que aunque tengamos 8 campos de tipo bit en
la
misma tabla el espacio que nos ocupa físicamente seguirá siendo el mismo
(se
consume únicamente 1 byte por cada 8 columnas de dicho tipo).

Rubén Garrigós
Solid Quality Mentors

"Pedro" wrote:

Quiero un campo en una tabla que me represente un flag o valor bool (true
o
false). Cuales es la mejor alternativa? Bit? Tinyint? Char?




Respuesta Responder a este mensaje
#4 Maxi Accotto
11/09/2008 - 02:00 | Informe spam
Hola, yo uso char(1) y pongo S o N.


Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"Pedro" escribió en el mensaje de
noticias:
Quiero un campo en una tabla que me represente un flag o valor bool (true
o false). Cuales es la mejor alternativa? Bit? Tinyint? Char?



Respuesta Responder a este mensaje
#5 Waldo
11/09/2008 - 15:22 | Informe spam
Para mi lo mas efectivo seria usar Bit.

Segun Libros de SQL:

********************************************************************
Bit:
Tipo de datos entero 1, 0 ó NULL.
Observaciones
Microsoft® SQL ServerT optimiza el almacenamiento que utilizan las columnas
de tipo bit. Si hay 8 ó menos columnas de tipo bit en una tabla, las
columnas se almacenan como 1 byte. Si hay entre 9 y 16 columnas de tipo bit,
se almacenan como 2 bytes y así sucesivamente.

********************************************************************

Osea que si en una tabla tenes hasta 8 columnas bit, solo ocuparas 1 byte.

Pero si lo guardas como char(1) vas a usar 8 bytes.

Saludos

Waldo
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida