CONVERT
er SQL Server-specifik, CAST
er ANSI.
CONVERT
er mere fleksibel ved at du kan formatere datoer osv. Bortset fra det er de stort set ens. Hvis du er ligeglad med de udvidede funktioner, så brug CAST
.
EDIT:
Som bemærket af @beruic og @C-F i kommentarerne nedenfor, er der muligt tab af præcision, når en implicit konvertering bruges (det vil sige en, hvor du hverken bruger CAST eller CONVERT). For yderligere information, se CAST og CONVERT og især denne grafik:SQL Server Data Type Conversion Chart. Med denne ekstra information forbliver den oprindelige rådgivning stadig den samme. Brug CAST, hvor det er muligt.