CONVERT
es específico de SQL Server, CAST
es ANSI.
CONVERT
es más flexible en el sentido de que puede formatear fechas, etc. Aparte de eso, son más o menos lo mismo. Si no le interesan las funciones ampliadas, use CAST
.
EDITAR:
Como lo señalaron @beruic y @C-F en los comentarios a continuación, existe una posible pérdida de precisión cuando se usa una conversión implícita (es decir, cuando no usa CAST ni CONVERT). Para obtener más información, consulte CAST y CONVERT y, en particular, este gráfico:Gráfico de conversión de tipos de datos de SQL Server. Con esta información adicional, el consejo original sigue siendo el mismo. Utilice CAST siempre que sea posible.