True y False (la logica al demonio)

27/10/2003 - 16:50 por Osvaldo Bisignano | Informe spam
True y False aparecen como palabras reservadas en el analizador de
consultas.
Se supone (supongo yo) que representan una constante de sistema que
respresenta valores 1 (true) y 0 (false) y se utilizan comunmente para
establecer y comparar valores en campos de tipo Bit.
Sin embargo, no hay documentacion sobre estas palabras clave, excepto que
figuran como palabras clave de ODBC.

sin embargo esta instrucción
PRINT CAST(false as varchar)
no devuelve 0. Sino que arroja la siguiente excepción:

Servidor: mensaje 128, nivel 15, estado 1, línea 1
El nombre 'false' no es válido en este contexto. Sólo se permiten
constantes, expresiones o variables. No se permiten nombres de columna.

ME ESTAN CARGANDO? Quien hizo esto?
Además, ya se que Visual Basic no es lo mejor. Pero pensando que cuando
salió SQLServer ya existía VB y los demas lenguajes de programacion de
microsoft, no se podrían haber puesto de acuerdo en cual es el valor
numerico de TRUE?
en SQL Server es 1 y en .NET o 6.0 es -1.

A ver que opinan.

Preguntas similare

Leer las respuestas

#1 Miguel Egea
27/10/2003 - 22:46 | Informe spam
Bueno en .NET tienes los sqltypes, que si se ajustan exactamente SqlServer.
Yo personalmente siempre uso enteros para la lógica de si/no, debido sobre
todo a que en sql7.0 no se podían crear índices sobre bit,..
El resto de temas, creo que solo te lo puede responder el equipo de
desarrollo de Sql-server..


=Miguel Egea
http://www.portalsql.com
Microsoft SQL-SERVER MVP.
Brigada Anti-Cursores
Aviso de Seguridad
http://www.microsoft.com/spain/tech...9-USER.asp
==
"Osvaldo Bisignano" escribió en el mensaje
news:
True y False aparecen como palabras reservadas en el analizador de
consultas.
Se supone (supongo yo) que representan una constante de sistema que
respresenta valores 1 (true) y 0 (false) y se utilizan comunmente para
establecer y comparar valores en campos de tipo Bit.
Sin embargo, no hay documentacion sobre estas palabras clave, excepto que
figuran como palabras clave de ODBC.

sin embargo esta instrucción
PRINT CAST(false as varchar)
no devuelve 0. Sino que arroja la siguiente excepción:

Servidor: mensaje 128, nivel 15, estado 1, línea 1
El nombre 'false' no es válido en este contexto. Sólo se permiten
constantes, expresiones o variables. No se permiten nombres de columna.

ME ESTAN CARGANDO? Quien hizo esto?
Además, ya se que Visual Basic no es lo mejor. Pero pensando que cuando
salió SQLServer ya existía VB y los demas lenguajes de programacion de
microsoft, no se podrían haber puesto de acuerdo en cual es el valor
numerico de TRUE?
en SQL Server es 1 y en .NET o 6.0 es -1.

A ver que opinan.





Respuesta Responder a este mensaje
#2 Maximiliano Accotto
27/10/2003 - 22:58 | Informe spam
Hola!! bueno yo para esto desde hace tiempo uso un campo tipo char de un
caracter donde pongo un Y o una N, ya que lo boolenaos cambian en diferentes
sistemas, no solo en Microsoft.

Suerte

ACCOTTO MAXIMILIANO DAMIAN
ESPECIALISTA EN SISTEMAS INFORMATICOS

UN SALUDO MUY CORDIAL
"Osvaldo Bisignano" escribió en el mensaje
news:
True y False aparecen como palabras reservadas en el analizador de
consultas.
Se supone (supongo yo) que representan una constante de sistema que
respresenta valores 1 (true) y 0 (false) y se utilizan comunmente para
establecer y comparar valores en campos de tipo Bit.
Sin embargo, no hay documentacion sobre estas palabras clave, excepto que
figuran como palabras clave de ODBC.

sin embargo esta instrucción
PRINT CAST(false as varchar)
no devuelve 0. Sino que arroja la siguiente excepción:

Servidor: mensaje 128, nivel 15, estado 1, línea 1
El nombre 'false' no es válido en este contexto. Sólo se permiten
constantes, expresiones o variables. No se permiten nombres de columna.

ME ESTAN CARGANDO? Quien hizo esto?
Además, ya se que Visual Basic no es lo mejor. Pero pensando que cuando
salió SQLServer ya existía VB y los demas lenguajes de programacion de
microsoft, no se podrían haber puesto de acuerdo en cual es el valor
numerico de TRUE?
en SQL Server es 1 y en .NET o 6.0 es -1.

A ver que opinan.





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