Formato fecha en SELECTS segun idioma del SQL server...

01/04/2008 - 11:46 por Victoria Caballero | Informe spam
Hola a todos,
tenemos una aplicacion Windows que usa el SQL y en todas los Selects
donde los filtros usan fecha enviamos la misma con el formato
"AAAA-MM-DD". Dichos selects funcionan bien en un SQL en ingles pero he
intentado correr el programa atacando una base de datos en un SQL en
espaniol y al ejecutarse dichos selects no obtengo resultados dado que
las selects devuelven este mensaje de error "La conversión del tipo de
datos char a smalldatetime generó un valor smalldatetime fuera de
intervalo". Luego de hacer algunas pruebas descubrimos que si enviamos
la fecha con el formato "AAAAMMDD", es decir sin los separadores
entonces las selects funcionan correctamente en ambos SQL, ingles y
espaniol. Ahora esto ha generado en la oficina donde trabajo un debate
de si es correcto usar el formato "AAAAMMDD" para las fechas. Algunos
companieros dicen que el estandar es "AAAA-MM-DD" y no "AAAAMMDD" y
que el problema es la instalacion del SQL en espaniol. Quisiera saber
la opinion de mas personas para saber quien esta equivocado. Tal vez se
pueda cambiar en el SQL en espaniol el formato de la fecha o
simplemente asumir que el formato para las fechas en este caso no puede
ser "AAAA-MM-DD". En fin, no tengo claro esto..., asi que cualquier
opinion o sugerencia sera bienvenida.
Desde ya muchas gracias.

Saludos!

Victoria Caballero
 

Leer las respuestas

#1 Victor Koch
01/04/2008 - 15:33 | Informe spam
Hola Victoria

Proba este formato:

{d 'YYYY-MM-DD' }

Por ejemplo si la fecha es 15 de Enero de 2008 la forma seria:

SELECT * FROM MiTabla WHERE FECHA={d '2008-01-15'}

Un Saludo, Víctor Koch



"Victoria Caballero" escribió en el
mensaje news:
Hola a todos,
tenemos una aplicacion Windows que usa el SQL y en todas los Selects donde
los filtros usan fecha enviamos la misma con el formato "AAAA-MM-DD".
Dichos selects funcionan bien en un SQL en ingles pero he intentado correr
el programa atacando una base de datos en un SQL en espaniol y al
ejecutarse dichos selects no obtengo resultados dado que las selects
devuelven este mensaje de error "La conversión del tipo de datos char a
smalldatetime generó un valor smalldatetime fuera de intervalo". Luego de
hacer algunas pruebas descubrimos que si enviamos la fecha con el formato
"AAAAMMDD", es decir sin los separadores entonces las selects funcionan
correctamente en ambos SQL, ingles y espaniol. Ahora esto ha generado en
la oficina donde trabajo un debate de si es correcto usar el formato
"AAAAMMDD" para las fechas. Algunos companieros dicen que el estandar es
"AAAA-MM-DD" y no "AAAAMMDD" y que el problema es la instalacion del SQL
en espaniol. Quisiera saber la opinion de mas personas para saber quien
esta equivocado. Tal vez se pueda cambiar en el SQL en espaniol el formato
de la fecha o simplemente asumir que el formato para las fechas en este
caso no puede ser "AAAA-MM-DD". En fin, no tengo claro esto..., asi que
cualquier opinion o sugerencia sera bienvenida.
Desde ya muchas gracias.

Saludos!

Victoria Caballero


Preguntas similares