Diferencia entre CAST y CONVERT en SQL – Mi lado informático

SQL Server diferencia cast convert

¿En SQL hay alguna diferencia entre CAST y CONVERT? ¿Por qué en unas consultas de base de datos utilizamos CAST y sin embargo en otras utilizamos CONVERT? ¿Dónde debemos utilizar cada una?

  • CONVERT es una función específica de SQL Server.
    • Si solamente utilizamos Microsoft SQL Server, sería recomendable usar CONVERT porque es una función propia de SQL Server y mejora un poco su tiempo de ejecución.
    • Es muy recomendable utilizar CONVERT con fechas porque nos permite definir su estilo.
      • En el siguiente ejemplo utilizaremos el estilo 105 que nos devuelve el siguiente formato de fecha: «dd-mm-aaaa».
      • Si queréis utilizar otros formatos, os recomiendo visitar la siguiente web:
      • En la web TechOnTheNet nos recomiendan utilizar la función TRY_CONVERT. De esta forma, devolverá NULL si la conversión falla y no nos dará error la consulta. Si la conversión se ha realizado con éxito, nos devolverá el dato convertido.
--CONVERT
SELECT CONVERT(CHAR(50), FECHA, 105) FROM TABLA;

--TRY_CONVERT
SELECT TRY_CONVERT(CHAR(50), FECHA, 105) FROM TABLA;

  • CAST es un estándar ANSI-SQL.
    • Si queremos que nuestra consulta pueda ser leída tanto en ORACLE SQL Developer como en Microsoft SQL Server, sería recomendable utilizar CAST.
SELECT CAST(FECHA AS char(10)) FROM TABLA;

Como veis, la diferencia en SQL SERVER entre CAST y CONVERT es muy poca, pero conocerla nos ayudará mucho más de lo que pensamos en nuestro día a día.

En los siguientes tutoriales os dan más información sobre CAST y CONVERT:

Espero que os sea útil

¡Que seáis felices!

Fuente:

Ver más en: Mi lado Informático

Volver arriba