![]() |
error en insert Hola... este es mi insert insert into movimientos values(100,7,9749,9749,'2005-09-23') este es el error que me da The conversion of char data type to smalldatetime data type resulted in an out-of-range smalldatetime value. y en la tabla lo tengo declarado smalldatetime los campos de fecha uso SQL server espero puedan ayudarme :arriba: saludos nos vemos... |
Cita:
|
Cita:
insert into movimientos values(100,7,9749,9749,CONVERT(DATETIME,'2005-09-23', 102)) intenta asi. |
ok el problema es q usamos un template o modelo para hacer algunas rutinas entre esa esta el insert pero con los demas sitemas que tenemos no habia ocurrido nunca lo hace de maravilla pero ahora estoy trabajando en un sistema nuevo y el template me forma el string del insert como lo hace con lo demas pero cuando ejecuta ese estring me sale el error. y prove ese insert por el QUIERY ANALIZER y hace el insert perfecto no entiendo q pasa ... otra cosa en que momento esta intentado convertir tipo "char" al tipo "smalldatetime" si lo tengo declarado como un smalldatetime. no entiendo cuando va formando el strin el verifica el tipo d dato If rec!Type = "smalldatetime" Then strinsert = strinsert & "'" & Format(formfields(j, 3), "yyyy/mm/dd") & "'" & "," end if gracias |
Respuesta: error en insert podes convertirlo de la siguiente manera y vas a recibir un recordset con el formato de fecha DD/MM/YYYY select convert(smalldatetime,convert(varchar(10),ultimafe cha,103),103) from tabla where campodatetime between '1900-01-01' and '2079-06-06' Es importante restringir el rango de fechas que se encuentra en el where porque, son los rangos que maneja el tipo SMALLDATETIME, por ejemplo si en la base de datos hay una fecha cargada y esta supera al 2079 y no tuvieramos aplicado el rango de fechas que especifiqué en el where, entonces no va a funcionar y arrojaría el siguiente error: Server: Msg 296, Level 16, State 3, Line 1 The conversion of char data type to smalldatetime data type resulted in an out-of-range smalldatetime value. Otra cosa es que en el ejemplo devuelve la fecha en formato DD/MM/YYYY porque utilicé 103, en el siguiente link se muestra la tabla completa. msdn.microsoft.com/es-es/library/ms182418.aspx Espero que les sirva Ruben |
Respuesta: error en insert Agrego info respecto al insert y el update Si la tabla de origen es de tipo DATETIME y la tabla destino es de tipo SMALLDATETIME, con el siguiente update deberias poder realizar el cambio de tipo de datos Caso del insert: INSERT INTO "tabla_destino" (id,fecha) SELECT id,convert(smalldatetime,convert(varchar(10),campo fecha_tablaOrigen,103),103) FROM tabla_origen WHERE campofecha_tablaOrigen between '1900-01-01' and '2079-06-06' Caso del Update: update tabla_destino set fecha=(select convert(smalldatetime,convert(varchar(10),campofec ha_tablaOrigen,103),103) from tablaOrigen b where tabla_destino.idusuario=b.idusuario and campofecha_tablaOrigen between '1900-01-01' and '2079-06-06') Espero sea de ayuda, cualquier cosa me avisan Saludos, Ruben |
| La zona horaria es GMT -6. Ahora son las 00:16. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.