¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Solución al error de conversión al convertir una cadena de caracteres en fecha y/o hora en SQL

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 239 Vistas
0
Cargando...

Hola expertos, estoy teniendo problemas al intentar convertir un campo de "Hora" y me aparece un error: Error de conversión al convertir una cadena de caracteres en fecha y/o hora.

SELECT

case len(t0.createtime)

when 3 then convert(time, substring(convert(nvarchar, t0.createtime), 1, 1)

+ ':' + substring(convert(nvarchar, t0.createtime), 2, 2))

when 4 then convert(time, substring(convert(nvarchar, t0.createtime), 1, 1)

+ ':' + substring(convert(nvarchar, t0.createtime), 2, 2))

end

FROM OSCL T0

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

copio y pego

SELECT

convert(time,left(right('0000' + createtime, 4), 2) + ':' + right(right('0000' + createtime, 4), 2)) [Hora]

FROM OSCL T0

pero me muestra el siguiente mensaje estimado:

1). [Microsoft][SQL Server Native Client 10.0][SQL Server]Debe especificar la tabla en la que hacer la selección. 2). [Microsoft][SQL Server Native Client 10.0][SQL Server]No se puede preparar la instrucción o instrucciones. 'Alertas recibidas' (OAIB)

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Lo probé en mi SQL y me da el resultado en forma de hora.

Ejecutaste el query tal como te lo puse? ¿Dejaste el alias T0 inmediatamente después del nombre de la tabla (OSCL)?

¿O le estás agregando JOINs u algo por el estilo?

foto.jpg
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Juan Carlos, intenté pero me muestra el siguiente error:

1). [Microsoft][SQL Server Native Client 10.0][SQL Server]El identificador formado por varias partes "t0.createtime" no se pudo enlazar. 2). [Microsoft][SQL Server Native Client 10.0][SQL Server]No se puede preparar la instrucción o instrucciones. '' (SWEI)

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Oscar,

Intenta con esto:


            SELECT
            convert(time, left(right('0000' + createtime, 4), 2) + ':' + right(right('0000' + createtime, 4), 2)) [Hora]
            FROM OSCL T0
            
        

Saludos y suerte,

JC.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?