Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Variables booleanas

Estas en el tema de Variables booleanas en el foro de SQL Server en Foros del Web. Buenas tardes, Estoy intentado almacenar el resultado de una comparación en una variable de tipo bit. Este el el código que uso: DECLARE @substractTime bit; ...
  #1 (permalink)  
Antiguo 10/12/2008, 07:01
 
Fecha de Ingreso: diciembre-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Variables booleanas

Buenas tardes,
Estoy intentado almacenar el resultado de una comparación en una variable de tipo bit. Este el el código que uso:

DECLARE @substractTime bit;
SET @substractTime = (@secondsToAdd > 0);

Y me salta el siguiente error

Msg 102, Level 15, State 1, Procedure DateAdd, Line 20
Incorrect syntax near '>'.

Existe algún operador de tipo Boolean o algo así? Que es lo que está mal?

PS : Se que existen funciones del tipo DATEADD, pero no es mi objetivo imitar esta funcion
  #2 (permalink)  
Antiguo 10/12/2008, 09:57
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 18 años, 1 mes
Puntos: 8
Respuesta: Variables booleanas

Que tal.

Que yo sepa no existe variable booleanas en SQL Server, al menos hasta la versión 2000. Y las variables tipo bit, sólo aceptan eso, los valores 0 ó 1.

Y puedes hacer lo siguiente:

Código:
IF (@secondsToAdd > 0)
    SET @substractTime = 1
ESLE
    SET @substractTime = 0

....
IF  (@substractTime = 1) BEGIN
.....
END ELSE BEGIN
...

END
....
....
  #3 (permalink)  
Antiguo 11/12/2008, 04:44
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años
Puntos: 38
Respuesta: Variables booleanas

Otra opcion...

Código:
DECLARE @substractTime bit;
SET @substractTime = Case When @secondsToAdd > 0 Then 1
                          Else 0 End;
Como comentario, si secondtoadd lo vas a usar con dateadd puede ser directo, ya que si es negativo resta la unidad que le solicitas.

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:05.