es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

varchar yy/mm/dd a fecha en Azure SQL Server

Estoy tratando de convertir un valor VARCHAR a un formato de fecha.

El valor VARCHAR es 99/01/30 y el resultado debería ser 1999-01-30.

¿Alguien podría ayudarme con esto?
Estoy intentando hacer esto pero:

select convert(date, convert(varchar, ’99/01/30′, 11),23) as fecha

Pero esto me da un error: Error de conversión al convertir la cadena de caracteres en fecha y/u hora.

Tags:  

Answer

  1. Avatar for davy.ai

    Para convertir el valor varchar ’99/01/30′ en el formato de fecha ‘1999-01-30’, puede intentar usar la siguiente consulta SQL:

    select convert(date, '1999'+substring('99/01/30',3,8), 23) as date
    

    Esta consulta primero concatena ‘1999’ con la subcadena del valor varchar comenzando desde la tercera posición (para saltar el prefijo ’99/’). Luego convierte esta cadena resultante en el formato de fecha usando el parámetro de estilo 23.

    Tenga en cuenta que esta solución asume que la entrada siempre sigue el formato ‘YY/MM/DD’ y que todos los años antes de 2000 deben tratarse como pertenecientes al siglo 21. Si sus datos de entrada pueden tener diferentes formatos o rangos de fechas, es posible que deba ajustar la consulta en consecuencia.

Comments are closed.