Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Problema con el Datetime

Estas en el tema de Problema con el Datetime en el foro de SQL Server en Foros del Web. Hola a todos tengo la siguiente duda tengo un proc almacenado q tiene como uno de sus parametros la fecha Ok al ejectuar el procedimiento ...
  #1 (permalink)  
Antiguo 15/04/2009, 14:32
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Problema con el Datetime

Hola a todos tengo la siguiente duda tengo un proc almacenado q tiene como uno de sus parametros la fecha Ok

al ejectuar el procedimiento almacenado con una fecha respectiva me genera error diciendome
Error al convertir el tipo de datos varchar a datetime.

supuestamente yo cuando ejecuto el proc le mando asi

EXECUTE Sp_ReportePrueba '2009-04-15'

cuando trato de compilar sin el procedimiento almacenado sino con una variable creada me dice q

La conversión del tipo de datos char a datetime produjo un valor datetime fuera de intervalo.

pero si la fecha se encuentra en un rango correcto

el proc almacenado es el siguiente

CREATE PROC Sp_ReportePrueba
(
@fecha datetime <-- supuestamente aca me envia el error
)
as
select * from clientes where fechareg=@fecha
go

cuando lo ejecuto en Otro SQL de otra maquina me corre excelentemente pero cuando quiero hacerlo desde el servidor me da error
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #2 (permalink)  
Antiguo 15/04/2009, 15:19
Avatar de vrenzo  
Fecha de Ingreso: febrero-2007
Mensajes: 289
Antigüedad: 17 años, 9 meses
Puntos: 15
Respuesta: Problema con el Datetime

Creo que el detalle estar ver como esta definido el campo fechareg en el server que si te corre la consulta...

Puede que en tu ServerPrincipal el campo fechareg tenga una deficinición de dato distinto....
  #3 (permalink)  
Antiguo 15/04/2009, 15:32
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Problema con el Datetime

no como te dijo tanto el parametro fecha como el campo fechareg son de tipo datetime
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #4 (permalink)  
Antiguo 15/04/2009, 15:37
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 18 años
Puntos: 8
Respuesta: Problema con el Datetime

Prueba de la siguiente manera:

EXECUTE Sp_ReportePrueba '20090415'

El formato YYYYMMDD funciona casi para cualquier base de datos de cualquier servidor.

Saludos!
  #5 (permalink)  
Antiguo 15/04/2009, 15:52
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Problema con el Datetime

Excelente Alternativa Gracias me funciono
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #6 (permalink)  
Antiguo 15/04/2009, 16:03
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Problema con el Datetime

Otra Forma q encontre es poner tu variable del procedimiento como varchar

@FECREG VARCHAR(100)

y al momento de verificar FechaReg = Convert(Datetime,@FECREG,101)
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #7 (permalink)  
Antiguo 15/04/2009, 20:41
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses
Puntos: 180
Respuesta: Problema con el Datetime

Para evitarse dolores de cabeza y sus conversiones, ya lo hemos sugerido aqui, utilicen siempre formato ANSI-SQL.

yyyymmdd hh:mm:ss, nnn
  #8 (permalink)  
Antiguo 06/02/2013, 15:52
 
Fecha de Ingreso: enero-2013
Mensajes: 13
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Problema con el Datetime

hola yo tengo el mismo problem al hacer un insert en php

insert into BITA01 ("capos") values ('3', ' 150', ''###, ' 7', '2011-04-16 12:41:58.080', '0', '$ 226.00', 'F', 'ADMINISTRADOR').

Como de debo de colocar la fecha para que no marque el error?
  #9 (permalink)  
Antiguo 06/02/2013, 15:54
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Problema con el Datetime

dale a tu base un select getdate() y ve el formato que regresa y trata de meter la fecha en ese formato :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #10 (permalink)  
Antiguo 06/02/2013, 16:00
 
Fecha de Ingreso: enero-2013
Mensajes: 13
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Problema con el Datetime

hola ya hice lo me dice y me da este formato
2013-02-06 15:54:18.687

El problema es que lo estoy mandando igual
insert into BITA (]"campos") values ('3', ' 150', '_SAE_', ' 7',
'2011-04-16 12:41:58.080',
'0', 'No. [A1 ] $ 226.00', 'F', 'ADMINISTRADOR')


No puedo cambiar ninguna configuarcion del SQLSERVER por que no es mio
  #11 (permalink)  
Antiguo 06/02/2013, 16:08
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Problema con el Datetime

ahora el formato del campo es datetime? estas usando sql server o mysql?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #12 (permalink)  
Antiguo 06/02/2013, 16:17
 
Fecha de Ingreso: enero-2013
Mensajes: 13
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Problema con el Datetime

Estoy usando SQL Server y el campo si es date time.


Lo peor del caso es al hacer algunos insert si los hace y otros ejemplo



Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]La conversión del tipo de datos varchar en datetime produjo un valor fuera de intervalo., SQL state 22008 in SQLExecDirect in

insert into BITA01 (CVE_BITA, CVE_CLIE, CVE_CAMPANIA, CVE_ACTIVIDAD, FECHAHORA, CVE_USUARIO, OBSERVACIONES, STATUS, NOM_USUARIO) values ('421', ' 224', '_SAE_', ' 2', '2011-05-02 09:45:58.840', '0', 'No. [A282 ] $ 603.20', 'F', 'ADMINISTRADOR')


insert into BITA01 (CVE_BITA, CVE_CLIE, CVE_CAMPANIA, CVE_ACTIVIDAD, FECHAHORA, CVE_USUARIO, OBSERVACIONES, STATUS, NOM_USUARIO) values ('422', ' 108', '_SAE_', ' 2', '2011-05-02 09:57:00.540', '0', 'No. [A283 ] $ 1004.56', 'F', 'ADMINISTRADOR')

Ya no se que puede ser
  #13 (permalink)  
Antiguo 06/02/2013, 16:23
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Problema con el Datetime

prueba con

select convert(datetime,'valor fecha')

y ve donde esta el problema...
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #14 (permalink)  
Antiguo 06/02/2013, 16:32
 
Fecha de Ingreso: enero-2013
Mensajes: 13
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Problema con el Datetime

Ya lo intente pero sigue marcando el error

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]La conversión del tipo de datos varchar en datetime produjo un valor fuera de intervalo., SQL state 22008 in SQLExecDirect in


insert into BITA01 (CVE_BITA, CVE_CLIE, CVE_CAMPANIA, CVE_ACTIVIDAD, FECHAHORA, CVE_USUARIO, OBSERVACIONES, STATUS, NOM_USUARIO) values ('2', ' 10', '_SAE_', ' 2', convert(datetime,'2011-04-16 12:31:04.910'), '0', 'No. [A2 ] $ 389.76', 'F', 'ADMINISTRADOR')
  #15 (permalink)  
Antiguo 06/02/2013, 16:40
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Problema con el Datetime

prueba con esto:

insert into BITA01 (CVE_BITA, CVE_CLIE, CVE_CAMPANIA, CVE_ACTIVIDAD, FECHAHORA, CVE_USUARIO, OBSERVACIONES, STATUS, NOM_USUARIO) values ('2', ' 10', '_SAE_', ' 2', convert(datetime,'2011-16-04 12:31:04.910'), '0', 'No. [A2 ] $ 389.76', 'F', 'ADMINISTRADOR')

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #16 (permalink)  
Antiguo 06/02/2013, 16:50
 
Fecha de Ingreso: enero-2013
Mensajes: 13
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Problema con el Datetime

Muchas compañero

Ahora si inserto todos los registos sin problemas de verdad muchas gracias, estuve todo el dia en eso.
  #17 (permalink)  
Antiguo 06/02/2013, 17:01
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Problema con el Datetime

si te fijaste cual fue el error??? tu servidor tiene las fechas yyyy-dd-mm por lo que tendrias que cambiar tus fechas para que se ajusten a este formato.

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:59.