Formato de fecha smalldatetime

31/05/2007 - 11:40 por Baldor Renwald | Informe spam
Tengo un problema al ejecutar algunas consultas en SQL directo (sin SPs)
desde VB2005:

Al trabajar con campos smalldatetime, me encuentro con que si uso
comparaciones en la sentencia SQL del tipo:

WHERE fechaCompra>'05/29/2007'

esto funciona bien en una instalación con SQL Server 2005 Express en
Inglés, pero en cambio da error de conversión de fecha al ejecutar en otra
instalación de SQL Server 2005 Developer Edition en Español, que requiere
que la fecha se indique en el formato '29/05/2007', y entonces funciona sin
problemas.

La pregunta es: ¿hay alguna opción en el entorno de SQL Server 2005 para
poder configurar las bases de datos y que funcionen con el formato de fecha
en Inglés del mismo modo que el SQL Server Express en Ingles?

Gracias

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
31/05/2007 - 12:23 | Informe spam
Usa siempre el formato ANSI, esto es, YYYYMMDD o YYYYMMDD Hh:Mn:Ss

En tu caso, la consulta quedaría

WHERE fechaCompra > '20070529'

"Baldor Renwald" escribió en el mensaje
news:
Tengo un problema al ejecutar algunas consultas en SQL directo (sin SPs)
desde VB2005:

Al trabajar con campos smalldatetime, me encuentro con que si uso
comparaciones en la sentencia SQL del tipo:

WHERE fechaCompra>'05/29/2007'

esto funciona bien en una instalación con SQL Server 2005 Express en
Inglés, pero en cambio da error de conversión de fecha al ejecutar en otra
instalación de SQL Server 2005 Developer Edition en Español, que requiere
que la fecha se indique en el formato '29/05/2007', y entonces funciona
sin problemas.

La pregunta es: ¿hay alguna opción en el entorno de SQL Server 2005 para
poder configurar las bases de datos y que funcionen con el formato de
fecha en Inglés del mismo modo que el SQL Server Express en Ingles?

Gracias

Respuesta Responder a este mensaje
#2 Rubén Vigón
31/05/2007 - 12:25 | Informe spam
Hola Baldor,

Si usas el formato ANSI (yyyymmdd) te olvidarás para siempre de los quebraderos de cabeza con las fechas:

...WHERE FechaCompra > '20070531'

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org
Respuesta Responder a este mensaje
#3 Baldor Renwald
31/05/2007 - 12:55 | Informe spam
¿Pero esta solución no implicaría tener definido el campo como varchar o
similar?
Mi campo es smalldatetime y no puedo cambiar el tipo del campo. De la forma
que me indicas me da el mismo error.



"Rubén Vigón" escribió en el mensaje
news:
Hola Baldor,

Si usas el formato ANSI (yyyymmdd) te olvidarás para siempre de los
quebraderos de cabeza con las fechas:

...WHERE FechaCompra > '20070531'

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org
Respuesta Responder a este mensaje
#4 Rubén Vigón
31/05/2007 - 14:39 | Informe spam
No, no, tus campos seguirían siendo «datetime» ó «smalldatetime», por supuesto, ésto es sólo la sintaxis ANSI para usar en tus consultas SQL

¿Cuál es exactamente el error que obtienes?

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org
Respuesta Responder a este mensaje
#5 Baldor Renwald
31/05/2007 - 15:39 | Informe spam
Debi de escribir algo mál en la sintaxis; funciona perfectamente con la
sintaxis ANSI.
Muchas gracias.



"Rubén Vigón" escribió en el mensaje
news:
No, no, tus campos seguirían siendo «datetime» ó «smalldatetime», por
supuesto, ésto es sólo la sintaxis ANSI para usar en tus consultas SQL

¿Cuál es exactamente el error que obtienes?

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida