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.
 

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.





Preguntas similares