Principales respuestas
Convertir hora en SQL Server con el formato: 19/07/2017 11:00:00 a. m

Pregunta
-
Buenas noches, tengo el siguiente script para insertar en la base :
INSERT INTO k_horario(OIDHorario, OIDEmpleado, OIDSalon, OIDTaller, Hora, Dia, Semana, Duracion, FechaCreacion) VALUES ('3de7d494-5de9-4ab5-8d30-816103f1a9a0', '396983d6-63bd-4a0d-82fa-fb2fdac90a6e', 'a574f65e-0e81-46ed-9a91-3d40302a6319', '6958a0d9-90e8-4e09-9196-a3523edc9589', '17/07/2017 06:00:00 a. m.', 1, 29, 60, '14/07/2017 09:42:31 a. m.')
El problema es que cuando lo ejecuto me lanza el siguiente error:
Msg 241, Level 16, State 1, Line 1 Conversion failed when converting datetime from character string.
Agradecería mucho su ayuda para que mi insert sea exitoso.
Respuestas
-
Puedes indicar el sufijo AM o PM para indicar si el tiempo es anterior o posterior al medio día (reloj de 12 horas) o establecer el tiempo basado en un reloj de 24 horas:
DECLARE @Fecha1 datetime = '20170714 21:42:31'; DECLARE @Fecha2 datetime = '20170714 09:42:31PM'; SELECT @Fecha1, @Fecha2; GO
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Propuesto como respuesta Moderador M martes, 25 de julio de 2017 15:06
- Marcado como respuesta Gspindola martes, 25 de julio de 2017 15:56
Todas las respuestas
-
Escribe los literales de fecha bajo un estándar como el formato ISO 8601 'YYYYMMDD hh:mm:ss'. Considera que el tiempo se basa en un reloj de 24 horas.
INSERT INTO k_horario (OIDHorario, OIDEmpleado, OIDSalon, OIDTaller, Hora, Dia, Semana, Duracion, FechaCreacion) VALUES ('3de7d494-5de9-4ab5-8d30-816103f1a9a0', '396983d6-63bd-4a0d-82fa-fb2fdac90a6e', 'a574f65e-0e81-46ed-9a91-3d40302a6319', '6958a0d9-90e8-4e09-9196-a3523edc9589', '20170717 06:00:00', 1, 29, 60, '20170714 09:42:31'); GO
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios. -
Gracias Willams Morales , tendría conflicto con los AM y PM , es decir, tendría que convertir a las 21 horas para indicar que son las 9 de la noche o por defecto el SQL pone el AM y PM.
De antemano gracias y saludos.
-
Puedes indicar el sufijo AM o PM para indicar si el tiempo es anterior o posterior al medio día (reloj de 12 horas) o establecer el tiempo basado en un reloj de 24 horas:
DECLARE @Fecha1 datetime = '20170714 21:42:31'; DECLARE @Fecha2 datetime = '20170714 09:42:31PM'; SELECT @Fecha1, @Fecha2; GO
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Propuesto como respuesta Moderador M martes, 25 de julio de 2017 15:06
- Marcado como respuesta Gspindola martes, 25 de julio de 2017 15:56
-