saludos!

Escrito 04 marzo 2011 - 09:48
Escrito 04 marzo 2011 - 10:42
Escrito 04 marzo 2011 - 11:21
Escrito 04 marzo 2011 - 11:31
Escrito 04 marzo 2011 - 12:26
Escrito 04 marzo 2011 - 02:56
SELECT date_in_out
FROM WORKED
where CAST(date_in_out AS DATE) = '03/03/2011'
SELECT date_in_out
FROM WORKED
where CAST(date_in_out AS DATE) >= '03/03/2011'
Escrito 04 marzo 2011 - 03:14
SELECT date_in_out FROM WORKED WHERE date_in_out = :p1 params.parambyname('p1').asdate = UnaVariableTipoFecha
Escrito 04 marzo 2011 - 03:37
Hola, sigo teniendo problemas, el cast no me funciona:
SELECT date_in_out
FROM WORKED
where CAST(date_in_out AS DATE) = '03/03/2011'
no me devuelve nada pero si hago lo siguiente:
SELECT date_in_out
FROM WORKED
where CAST(date_in_out AS DATE) >= '03/03/2011'
esto si me funciona, lo que me dice que por guardar la hora en el campo no funciona, por lo tanto ... aparentemente no esta funcionando el cast, de hecho si le quito el cast me devuelve el resultado,
que puedo hacer?
SELECT date_in_out
FROM WORKED
where CAST(date_in_out AS DATE) = '03-03-2011'
SELECT date_in_out
FROM WORKED
where date_in_out >= '03-03-2011' and date_in_out < '03-04-2011'
Escrito 04 marzo 2011 - 04:02
delphi
SELECT date_in_out FROM WORKED WHERE date_in_out = :p1 params.parambyname('p1').asdate = UnaVariableTipoFecha
Salud.
Escrito 04 marzo 2011 - 04:18
Hola.
Hola, sigo teniendo problemas, el cast no me funciona:
SELECT date_in_out
FROM WORKED
where CAST(date_in_out AS DATE) = '03/03/2011'
no me devuelve nada pero si hago lo siguiente:
SELECT date_in_out
FROM WORKED
where CAST(date_in_out AS DATE) >= '03/03/2011'
esto si me funciona, lo que me dice que por guardar la hora en el campo no funciona, por lo tanto ... aparentemente no esta funcionando el cast, de hecho si le quito el cast me devuelve el resultado,
que puedo hacer?
La verdad es que utilizo continuamente este tipo de conversiones (cast as date) y funcionan de maravilla.
¿ Seguro que tu base de datos no tiene algo extraño ?, ¿ no será dialecto 1 o algo así ?. Puesto que en estos modos de compatibilidad con versiones arcaicas de Interbase, los tipos de datos se tratan distinto.
¿ Seguro que hay registros de esa fecha ?, a veces las causas de los comportamientos extraños tienen razones tan sencillas como esta.
NOTA: Por cierto, ¿ supongo que ya sabes que si pasas una fecha como cadena lo tienes que hacer en formato americano (mes-día-año) y no en el que usamos habitualmente en castellano (día/mes/año) ?.
Esta consulta debería funcionar perfectamente :
SELECT date_in_out
FROM WORKED
where CAST(date_in_out AS DATE) = '03-03-2011'
Pero si quieres evitar el uso de conversiones cast, entonces utiliza esta consulta equivalente :
SELECT date_in_out
FROM WORKED
where date_in_out >= '03-03-2011' and date_in_out < '03-04-2011'
NOTA: Como comenta cannabis, yo también te recomiendo que utilices parámetros para la consulta.
Saludos.
Escrito 04 marzo 2011 - 10:10
• Both dialects have a date/time type named DATE, but they are different types.
The dialect 1 DATE is equivalent to the dialect 3 TIMESTAMP, and the dialect 3
DATE is a date-only type not supported in dialect 1.
• Dialect 3 supports a TIME (time-of-day) type, which is unsupported in dialect 1.
Escrito 05 marzo 2011 - 03:49
SELECT date_in_out
FROM WORKED
WHERE CAST(date_in_out AS integer) = CAST(CAST('03.03.2011' as date) as integer)
Escrito 05 marzo 2011 - 10:05
Escrito 05 marzo 2011 - 10:42
Escrito 05 marzo 2011 - 12:43
La otra forma que se me ocurre es hacer un >= a la fecha desde la 00:00:00 y un <= a la fecha hasta la 23:5959
Escrito 05 marzo 2011 - 12:44
hola amigos, creo que mejor creare de nuevo la base de datos con el dialecto 3 , no pense que fuera a tener problemas,
es una aplicacion muy pequeña , de hecho por ahora solo tendre 2 tablas.
agradezco sus comentarios, saludos!
Escrito 07 marzo 2011 - 04:58