añadir campo a sentencia sql

07/05/2004 - 12:27 por Racsus | Informe spam
Hola

quiero añadir un campo imaginario de tipo booelan a una
sentencia sql. lo hago de la siguiente manera.

SELECT *, 1 As CampoImaginario FROM <TABLA>

Aparentemente me lo hace bien, pero cuando utilizo esta
sentencia en programacion no me reconoce esa columna como
booelan, porque?

gracias

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
07/05/2004 - 13:19 | Informe spam
No entiendo muy bien cuando dices que en programación no te reconoce la
columna como booleana. Si te refieres al código dentro de un procedimiento
almacenado, efectivamente, 1 no es igual a TRUE; tienes tú que compararlo
explícitamente



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Racsus" escribió en el mensaje
news:9bdd01c4341d$f69d0cc0$
Hola

quiero añadir un campo imaginario de tipo booelan a una
sentencia sql. lo hago de la siguiente manera.

SELECT *, 1 As CampoImaginario FROM <TABLA>

Aparentemente me lo hace bien, pero cuando utilizo esta
sentencia en programacion no me reconoce esa columna como
booelan, porque?

gracias
Respuesta Responder a este mensaje
#2 Tinoco
07/05/2004 - 14:30 | Informe spam
Hola.

Como en SQL no existe el tipo de dato Boolean, esta bien
lo que estas haciendo, pero debes tener en cuenta que el
SW de programación es el que determina si es Boolean, y
como envias un 1 esto es más un tipo de dato numerico qeu
otra cosa.

Por ejemplo, en Visual Basic 6, =0 es False y <>0 es True,
pero debes asignarlo a una variable de tipo boolean.

* En .Net puedes enviar un texto como "True" o "False" o
hacer un CAST al campo para convertirlo de tipo BIT, algo
como: CAST(1 as bit) As CampoImaginario

Hermilson
MCDBA, MCSD
Colombia

Hola

quiero añadir un campo imaginario de tipo booelan a una
sentencia sql. lo hago de la siguiente manera.

SELECT *, 1 As CampoImaginario FROM <TABLA>

Aparentemente me lo hace bien, pero cuando utilizo esta
sentencia en programacion no me reconoce esa columna como
booelan, porque?
Respuesta Responder a este mensaje
#3 Maxi
07/05/2004 - 14:39 | Informe spam
Hola, bueno claro que no te la reconocera como booleana porque no lo es ;-)
cuando la agregas de esa forma no le estas indicando un tipo de datos y por
eso tu aplicacion no la interpreta.

Cada dia me doy cuenta que el modelo que aplico desde hace 5 años es
compatible con todo :p

Yo hago esto:

En lugar de usar Booleanos y estas yerbas (no son muy compatibles los
valores 1-0 o -1 - 0 entre Bases de Datos) lo que yo uso es un Char(1) con
valores Y/N o S/N, en tu caso lo pondria asi.

Ahora bien en mis aplicaciones NO uso Booleanos sino que los uso como Char,
por lo cual para mi tu campo 1 es un Si o un Yes o lo que fuere.

Lo que yo haria en ese select es en el nombre del campo codificarlo de
alguna forma para saber que es Verdadero/Falso, por ej: B_nombrecampo y esa
logica luego la uso en las aplicaciones

Espero te sea util

Bye


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Racsus" escribió en el mensaje
news:9bdd01c4341d$f69d0cc0$
Hola

quiero añadir un campo imaginario de tipo booelan a una
sentencia sql. lo hago de la siguiente manera.

SELECT *, 1 As CampoImaginario FROM <TABLA>

Aparentemente me lo hace bien, pero cuando utilizo esta
sentencia en programacion no me reconoce esa columna como
booelan, porque?

gracias



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.676 / Virus Database: 438 - Release Date: 03/05/2004
Respuesta Responder a este mensaje
#4 Maxi
07/05/2004 - 14:40 | Informe spam
Hola, y la escalabilidad de eso? como es ;-)


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Tinoco" escribió en el mensaje
news:9c9f01c4342f$1538fca0$
Hola.

Como en SQL no existe el tipo de dato Boolean, esta bien
lo que estas haciendo, pero debes tener en cuenta que el
SW de programación es el que determina si es Boolean, y
como envias un 1 esto es más un tipo de dato numerico qeu
otra cosa.

Por ejemplo, en Visual Basic 6, =0 es False y <>0 es True,
pero debes asignarlo a una variable de tipo boolean.

* En .Net puedes enviar un texto como "True" o "False" o
hacer un CAST al campo para convertirlo de tipo BIT, algo
como: CAST(1 as bit) As CampoImaginario

Hermilson
MCDBA, MCSD
Colombia

Hola

quiero añadir un campo imaginario de tipo booelan a una
sentencia sql. lo hago de la siguiente manera.

SELECT *, 1 As CampoImaginario FROM <TABLA>

Aparentemente me lo hace bien, pero cuando utilizo esta
sentencia en programacion no me reconoce esa columna como
booelan, porque?






Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.676 / Virus Database: 438 - Release Date: 03/05/2004
Respuesta Responder a este mensaje
#5 Javier Loria
07/05/2004 - 22:43 | Informe spam
Hola Racsus:
No me gustan mucho los Bits pero podrias hacer:
= SELECT CAST(0 AS Bit), CAST(1 AS Bit)
= No es boolean, pero es lo mas cercano.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Racsus escribio:
Hola

quiero añadir un campo imaginario de tipo booelan a una
sentencia sql. lo hago de la siguiente manera.

SELECT *, 1 As CampoImaginario FROM <TABLA>

Aparentemente me lo hace bien, pero cuando utilizo esta
sentencia en programacion no me reconoce esa columna como
booelan, porque?

gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida