Buenas tardes queridos lectores, el día de hoy vamos a explicar el uso de la función agregada de sistema TRY_CONVERT, esta función, combina como bien lo intuimos, la función CONVERT, con el manejo de errores TRY-CATCH, esta función esta disponible a partir de SQL SERVER 2012, por lo que, si usan SQL SERVER 2008, o anteriores, no funcionará. Pues bien, pasemos a su uso que es lo que nos gusta
CONVERT
La función CONVERT, sirve para convertir un tipo de datos en otro, en caso de fallar la conversión devuelve un error y se trunca la ejecución. Veamos un ejemplo:
SELECT CONVERT(int, 'abc')
En este ejemplo, queremos convertir a int la cadena de texto abc, sin embargo, esto nos devuelve un error como éste:
Msg 245, Level 16, State 1, Line 5
Conversion failed when converting the
varchar value 'abc' to data type int.
Completion time:
2022-07-12T22:02:55.8348145-05:00
TRY_CONVERT
La función Try-Convert(), sirve para convertir un tipo de dato en otro, y en caso de fallar la conversión en lugar de mandar un error, devuelve un NULL evitando que se trunque la ejecución en caso de ser en bloque. Veamos un ejemplo:
SELECT TRY_CONVERT(INT, 'ABC')
Mismo caso del ejemplo anterior, queremos convertir a
int la cadena de texto
ABC, sin embargo la respuesta es distinta del ejemplo anterior:
Como vemos, en lugar de retornar un error, nos devuelve un valor
NULL, lo cual es excelente para realizar validaciones. Veamos el siguiente ejemplo:
SELECT CASE WHEN TRY_CONVERT(int, 'abc') IS NULL
THEN 'Cast Failed'
END
En este ejemplo, validamos que se pueda convertir en int el valor abc, y en caso de no ser posible la conversión, retorne un mensaje de error.
Hasta aquí el post, espero les sea de utilidad, espero sus comentarios, sus preguntas, y si se quieren poner guapos, den clic a algún anuncio patrocinado.
Saludos
No hay comentarios.:
Publicar un comentario