Formato de fecha por defecto de convert(datetime,FechaTexto)

02/07/2008 - 12:07 por Cetel Sistemas | Informe spam
Hola:

Tengo una aplicación corriendo en un SQL Server 2000 en inglés en la cual
hay mucho procedimientos almacenados donde se hacen conversiones del tipo
convert(datetime,'01/07/2008 19:45:23') antes de guardar este dato en un
campo de tipo datetime. Todo funciona correctamente y se almacena como 1 de
Julio de 2008

He pre-migrado la aplicación a SQL Server 2005 en inglés, y esta misma
instrucción convert(datetime,'01/07/2008 19:45:23') me guarda este dato como
7 de Enero de 2008. Si le aplico un formato europeo a la conversión
convert(datetime,'01/07/2008 19:45:23',103) entonces se guarda correctamente
pero quiero evitar eso porque me implica revisar excesivo código.

Mi pregunta es si hay algún aspecto de configuración, parámetro o lo que sea
que se pueda ajustar en el servidor SQL o en la BBDD para que esta
instrucción se comporte igual que en la versión 2000.

Muchas gracias por anticipado.



Jesús Corbí
 

Leer las respuestas

#1 Alejandro Mesa
02/07/2008 - 16:03 | Informe spam
Cetel Sistemas,

Para que no tengas que depender de el lenguaje en uso, usa un formato
independiente de este como son ANSI e ISO8601. Para mas info, chequea la
funcion "convert" en los BOL.

convert(datetime,'01/07/2008 19:45:23')



set language spanish
go

select convert(datetime,'2008-07-01T19:45:23.000')
GO

set language english
go

select convert(datetime,'2008-07-01T19:45:23.000')
GO

AMB

"Cetel Sistemas" wrote:

Hola:

Tengo una aplicación corriendo en un SQL Server 2000 en inglés en la cual
hay mucho procedimientos almacenados donde se hacen conversiones del tipo
convert(datetime,'01/07/2008 19:45:23') antes de guardar este dato en un
campo de tipo datetime. Todo funciona correctamente y se almacena como 1 de
Julio de 2008

He pre-migrado la aplicación a SQL Server 2005 en inglés, y esta misma
instrucción convert(datetime,'01/07/2008 19:45:23') me guarda este dato como
7 de Enero de 2008. Si le aplico un formato europeo a la conversión
convert(datetime,'01/07/2008 19:45:23',103) entonces se guarda correctamente
pero quiero evitar eso porque me implica revisar excesivo código.

Mi pregunta es si hay algún aspecto de configuración, parámetro o lo que sea
que se pueda ajustar en el servidor SQL o en la BBDD para que esta
instrucción se comporte igual que en la versión 2000.

Muchas gracias por anticipado.



Jesús Corbí

Preguntas similares