post icon

Intentar convertir o parsear con TRY_CONVERT en SQL Server

A partir de la versión 2012 de SQL Server disponemos de una función más llamada TRY_CONVERT, la función nos permite ejecutar una consulta con mayor flexibilidad ante errores de conversión si es que tenemos alguna dentro de la misma.

También existe la opción de TRY_PARSE pero esta está limitada a los tipos de datos de cadena a fecha, hora y números, por lo que podría resultar ligeramente más eficiente en algunos escenarios.

La función recibe dos parametros, el tipo de datos al que se desea convertir y el valor a convertir. Si el proceso es exitoso se devuelve el valor convertido y si ocurre algún error se retorna NULL.

Tendría un par de usos prácticos, pero el más cotidiano que le veo es en los procesos de importación de datos en bruto o limpieza de los mismos. Podriamos evaluar cuales tienen problemas con la conversión y así determinar que pasos tomar para solucionar los datos.

La sintaxis básica sería

TRY_CONVERT(tipo de dato [longitud], expresion[estilo])

Ejemplo:

SELECT TRY_CONVERT(float, 'hola');

Ejemplo para determinar filas con problemas de conversión

SELECT columna FROM tabla WHERE TRY_CONVERT(datetime, columna) IS NULL;

Comentarios desde Facebook:

Sin Comentarios aun, puedes tú ser el primero en comentar!

Deja tu Comentario

Responder