Estoy tratando de agregar una sentencia case o if en la cláusula where de mi consulta SQL.
Tengo una tabla de tiempos de viaje con fecha de inicio y finalización, y un campo booleano para cada día para indicar dónde se realiza el viaje ese día. Aquí es lo que tengo hasta ahora, pero estoy consiguiendo errores de sintaxis incorrectas:sentencia de caso en where cláusula - SQL Server
declare @date datetime
set @Date = '05/04/2012'
declare @day nvarchar(50)
set @day = 'Monday'
Select * From Times
WHERE (StartDate <= @Date) AND (EndDate >= @Date)
CASE WHEN @day = 'Monday' THEN
AND (Monday = 1)
WHEN @day = 'Tuesday' THEN
AND (Tuesday = 1)
ELSE
AND (Wednesday = 1)
END
A mi me parece como si usted tiene un problema de diseño en la mesa, No hay manera de que alguna vez tiene columnas Lunes, martes, miércoles, etc. Debes tener una columna de Daya y llenarla con el día que quieras o un valor numérico que sea una búsqueda del día que desees. Si es aplicable más de un día, utilice una tabla relacionada. – HLGEM