Problema con Fechas

10/07/2006 - 16:40 por Mercedes | Informe spam
Buenos Dias:

Tengo la siguiente situacion en mi server, mi configuracion regional es
México, pero al hacer una consulta como esta en SQL seleccionado (dd/mm/aaaa)
y el campo es smalldatetime:

SELECT FMOV, SUM(IMP)
FROM TABLA
WHERE AND (DWF001FMOV>='01/07/2006' AND DWF001FMOV<='10/07/2006')

Al parecer me toma el día como mes y este es el resultado de la consulta:

08/01/2006-1540046.5
09/01/2006-1381505
10/01/2006-1228037.5
11/01/2006-1118318.5
12/01/2006-1073032
13/01/2006-1453563.46
14/01/2006-1623163
15/01/2006-1418151

¿Que puedo hacer?
De antemano, gracias.
 

Leer las respuestas

#1 Alejandro Mesa
10/07/2006 - 17:10 | Informe spam
Mercedes,

Para evitar esta confusion, usa el formato de los estilos 112 y/o 126 que
aperecen en la descripcion de la funcion "convert". De esta forma SQL Server
interpretara correctamente los valores de fecha sin importar el setting de
"dateformat" o del lenguaje en uso.

112 - Para fecha sin tiempo yyyymmdd
126 - Para fecha y tiempo yyyy-mm-ddThh:mm:ss.mmm

SELECT FMOV, SUM(IMP)
FROM TABLA
WHERE (DWF001FMOV>='20060701' AND DWF001FMOV<='20060710')
go

Ejemplo:

set dateformat dmy
go

select cast('20060701'as datetime)
go

set dateformat mdy
go

select cast('20060701'as datetime)
go

set dateformat ymd
go

select cast('20060701'as datetime)
go

set language spanish
go

select cast('20060701'as datetime)
go

set language us_english
go

select cast('20060701'as datetime)
go

set language Italiano
go

select cast('20060701'as datetime)
go


Como ves, el resultado es el mismo en todos los casos.


AMB


"Mercedes" wrote:

Buenos Dias:

Tengo la siguiente situacion en mi server, mi configuracion regional es
México, pero al hacer una consulta como esta en SQL seleccionado (dd/mm/aaaa)
y el campo es smalldatetime:

SELECT FMOV, SUM(IMP)
FROM TABLA
WHERE AND (DWF001FMOV>='01/07/2006' AND DWF001FMOV<='10/07/2006')

Al parecer me toma el día como mes y este es el resultado de la consulta:

08/01/2006-1540046.5
09/01/2006-1381505
10/01/2006-1228037.5
11/01/2006-1118318.5
12/01/2006-1073032
13/01/2006-1453563.46
14/01/2006-1623163
15/01/2006-1418151

¿Que puedo hacer?
De antemano, gracias.

Preguntas similares