datetime y los milisegundos

18/10/2005 - 14:10 por Crandell | Informe spam
Hola y gracias por anticipado.

He creado un atributo del tipo "datetime" porque necesito almacenar la fecha
y hora hasta más allá de los segundos (aunque tampoco me es necesario
llegarhasta la precisión de 3,33 milisegundos que me proporciona dicho tipo
de dato).

El problema es que, aunque almacena bien la información en la forma
"dd/mm/aaaa hh:mm:ss", cuando intento almacenar con el formato "dd/mm/aaaa
hh:mm:ss.sss" me aparece el siguiente mensaje de error:

"El valor que ha escrito no es coherente con el tipo de datos o el valor de
la columna".

En definitiva, sólo puedo almacenar con la precisión de un segundo y
necesitaría un poco más de precisión. ¿Qué es lo que hago mal?.

Preguntas similare

Leer las respuestas

#11 Carlos Sacristán
21/10/2005 - 10:20 | Informe spam
No lo hagas desde la consola de administración, sino desde el analizador
de consultas enviando la sentencia. Ya verás cómo desde ahí te funciona


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Crandell" escribió en el mensaje
news:
Gracias por tu consejo, pero creo que no me he explicado bien. Lo expondré
de otra manera:

Si, por ejemplo, haciendo uso del "SQL Server Enterprise Manager" intento
insertar un registro en una tabla, la cual contenga un atributo del tipo
"datetime", y directamente sobre dicho atributo tecleo la fecha y hora
(incluyendo los milisegundos) en el formato de fecha que tengo definido,
entonces me da el error "El valor que ha escrito no es coherente con el


tipo
de datos o el valor de la columna".

He hecho las siguientes pruebas:

Si tecleo '01/10/2005' --> funciona
Si tecleo '13:18:28' --> funciona
Si tecleo '01/10/2005 13:18:28' --> funciona
Pero si tecleo '01/10/2005 13:18:28.000' --> no funciona, aparece el
mensaje antes citado.

En realidad parece que el atributo que definí como datetime no quisiera
almacenar los milisegundos.



"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:%
> Tiene que ser otro el error. Prueba a ejecutar esta sentencia y


verás
> que es correcta:
>
> SELECT ('20051020 00:00:00.000' AS SMALLDATETIME) as [smalldatetime],
> CAST('20051020 00:00:00.000' AS DATETIME) as [datetime]
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "Crandell" escribió en el mensaje
> news:eZGM#
> > Pues lo intento así y me da el mismo error, es decir, que lo que he
> escrito
> > no es coherente...
> >
> > "Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el


mensaje
> > news:
> > > Prueba con el formato ANSI: "aaaammdd hh:mn:ss.sss"
> > >
> > >
> > > Un saludo
> > >
> > > -
> > > "Sólo sé que no sé nada. " (Sócrates)
> > >
> > > "Crandell" escribió en el mensaje
> > > news:
> > > > En ese artículo se dan respuestas a cómo consultar los campos


fecha,
> > pero
> > > mi
> > > > problema no es de consulta, sino de inserción.
> > > >
> > > > Lo que necesito es insertar con la precisión de milisegundos en
campos
> > > > definidos como datetime, ya que SQL me responde que "El valor que
ha
> > > > escrito no es coherente con el tipo de datos o el valor de la
> columna".
> > > >
> > > >
> > > > "Maxi" escribió en el mensaje
> > > > news:%23z8BeE%
> > > > > Hola, es que la informacion no se almacena asi.
> > > > >
> > > > > Mira este articulo
> > > > >
> > > > >
> > >
>


http://www.microsoft.com/spanish/ms...art157.asp
> > > > >
> > > > >
> > > > > Salu2
> > > > > Maxi [MVP SQL SERVER]
> > > > >
> > > > >
> > > > > "Crandell" escribió en el mensaje
> > > > > news:%
> > > > > > Hola y gracias por anticipado.
> > > > > >
> > > > > > He creado un atributo del tipo "datetime" porque necesito
> almacenar
> > la
> > > > > > fecha
> > > > > > y hora hasta más allá de los segundos (aunque tampoco me es
> > necesario
> > > > > > llegarhasta la precisión de 3,33 milisegundos que me


proporciona
> > dicho
> > > > > > tipo
> > > > > > de dato).
> > > > > >
> > > > > > El problema es que, aunque almacena bien la información en la
> forma
> > > > > > "dd/mm/aaaa hh:mm:ss", cuando intento almacenar con el formato
> > > > "dd/mm/aaaa
> > > > > > hh:mm:ss.sss" me aparece el siguiente mensaje de error:
> > > > > >
> > > > > > "El valor que ha escrito no es coherente con el tipo de datos


o
el
> > > valor
> > > > > > de
> > > > > > la columna".
> > > > > >
> > > > > > En definitiva, sólo puedo almacenar con la precisión de un
segundo
> y
> > > > > > necesitaría un poco más de precisión. ¿Qué es lo que hago


mal?.
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#12 Crandell
21/10/2005 - 13:05 | Informe spam
Gracias.

EN verdad el problema no existía, ya que sí grababa los milisegundos, lo que
pasaba es que yo no los veía desde el enterprise manager.

Gracias de nuevo


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
No lo hagas desde la consola de administración, sino desde el


analizador
de consultas enviando la sentencia. Ya verás cómo desde ahí te funciona


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Crandell" escribió en el mensaje
news:
> Gracias por tu consejo, pero creo que no me he explicado bien. Lo


expondré
> de otra manera:
>
> Si, por ejemplo, haciendo uso del "SQL Server Enterprise Manager"


intento
> insertar un registro en una tabla, la cual contenga un atributo del tipo
> "datetime", y directamente sobre dicho atributo tecleo la fecha y hora
> (incluyendo los milisegundos) en el formato de fecha que tengo definido,
> entonces me da el error "El valor que ha escrito no es coherente con el
tipo
> de datos o el valor de la columna".
>
> He hecho las siguientes pruebas:
>
> Si tecleo '01/10/2005' --> funciona
> Si tecleo '13:18:28' --> funciona
> Si tecleo '01/10/2005 13:18:28' --> funciona
> Pero si tecleo '01/10/2005 13:18:28.000' --> no funciona, aparece el
> mensaje antes citado.
>
> En realidad parece que el atributo que definí como datetime no quisiera
> almacenar los milisegundos.
>
>
>
> "Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
> news:%
> > Tiene que ser otro el error. Prueba a ejecutar esta sentencia y
verás
> > que es correcta:
> >
> > SELECT ('20051020 00:00:00.000' AS SMALLDATETIME) as [smalldatetime],
> > CAST('20051020 00:00:00.000' AS DATETIME) as [datetime]
> >
> >
> > Un saludo
> >
> > -
> > "Sólo sé que no sé nada. " (Sócrates)
> >
> > "Crandell" escribió en el mensaje
> > news:eZGM#
> > > Pues lo intento así y me da el mismo error, es decir, que lo que he
> > escrito
> > > no es coherente...
> > >
> > > "Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el
mensaje
> > > news:
> > > > Prueba con el formato ANSI: "aaaammdd hh:mn:ss.sss"
> > > >
> > > >
> > > > Un saludo
> > > >
> > > > -
> > > > "Sólo sé que no sé nada. " (Sócrates)
> > > >
> > > > "Crandell" escribió en el mensaje
> > > > news:
> > > > > En ese artículo se dan respuestas a cómo consultar los campos
fecha,
> > > pero
> > > > mi
> > > > > problema no es de consulta, sino de inserción.
> > > > >
> > > > > Lo que necesito es insertar con la precisión de milisegundos en
> campos
> > > > > definidos como datetime, ya que SQL me responde que "El valor


que
> ha
> > > > > escrito no es coherente con el tipo de datos o el valor de la
> > columna".
> > > > >
> > > > >
> > > > > "Maxi" escribió en el mensaje
> > > > > news:%23z8BeE%
> > > > > > Hola, es que la informacion no se almacena asi.
> > > > > >
> > > > > > Mira este articulo
> > > > > >
> > > > > >
> > > >
> >
http://www.microsoft.com/spanish/ms...art157.asp
> > > > > >
> > > > > >
> > > > > > Salu2
> > > > > > Maxi [MVP SQL SERVER]
> > > > > >
> > > > > >
> > > > > > "Crandell" escribió en el mensaje
> > > > > > news:%
> > > > > > > Hola y gracias por anticipado.
> > > > > > >
> > > > > > > He creado un atributo del tipo "datetime" porque necesito
> > almacenar
> > > la
> > > > > > > fecha
> > > > > > > y hora hasta más allá de los segundos (aunque tampoco me es
> > > necesario
> > > > > > > llegarhasta la precisión de 3,33 milisegundos que me
proporciona
> > > dicho
> > > > > > > tipo
> > > > > > > de dato).
> > > > > > >
> > > > > > > El problema es que, aunque almacena bien la información en


la
> > forma
> > > > > > > "dd/mm/aaaa hh:mm:ss", cuando intento almacenar con el


formato
> > > > > "dd/mm/aaaa
> > > > > > > hh:mm:ss.sss" me aparece el siguiente mensaje de error:
> > > > > > >
> > > > > > > "El valor que ha escrito no es coherente con el tipo de


datos
o
> el
> > > > valor
> > > > > > > de
> > > > > > > la columna".
> > > > > > >
> > > > > > > En definitiva, sólo puedo almacenar con la precisión de un
> segundo
> > y
> > > > > > > necesitaría un poco más de precisión. ¿Qué es lo que hago
mal?.
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida