ین تابع همان آرگومان های CAST را می پذیرد. تفاوت میان دو تابع یاد شده این است که TRY_CAST() در صورت عدم موفقیت در تبدیل، مقدار NULL را برمی گرداند. توصیه می شود بجای CAST() از TRY_CAST() استفاده کنید.
تبدیل یک مقدار (Convert)
مانند CAST()، تابع CONVERT() برای تبدیل یک مقدار بکار می رود. با این حال دو تابع ذکر شده از یک جنبه با هم تفاوت دارند. تابع CONVERT بر خلاف CAST، این قابلیت را دارد که مقداری را از نوع اصلی و اولیه ی آن به یک نوع کاملا متفاوت تبدیل کند، برای مثال رشته را به عدد تبدیل کند و عکس آن.
دستور نحوی تابع CONVERT() به شرح زیر می باشد:
CONVERT
(DataType [ ( length ) ] , Expression [ , style ])
ولین آرگومان باید یک نوع داده ای تعریف شده (انواع داده ای که پیش تر معریف کردیم) باشد. چنانچه مقداری را به نوع داده ای رشته (varchar، nvarchar، char، nchar) یا باینری تبدیل می کنید، بایستی حداکثر تعداد کاراکترهای مجاز را نیز در پرانتز مقابل نوع داده ای یا data type (در جای آرگومان length) مشخص نمایید.
همان گونه که در خصوص تابع CAST() تشریح شد، آرگومان Expression مقداری است که می بایست تبدیل شود (در جای آرگومان Expression مقداری که باید تبدیل شود را قرار دهید).
اگر عملیات تبدیل بر روی مقداری از نوع date و time اجرا شود، در آن صورت آرگومان style (که درواقع یک عدد می باشد) مشخص می کند تبدیل چگونه صورت گرفته یا ادامه یابد.
تابع CONVERT() در صورت عدم موفقیت در تبدیل، یک خطا صادر می کند.
به دلیل وجود برخی از مشکلات که ممکن است در اثر فرایند تبدیل رخ دهد و برطرف ساختن آن ها، T-SQL تابعی به نام TRY_CONVERT را ارائه می دهد. این تابع می تواند جایگزینی برای CONVERT() باشد. نحوه ی کلی استفاده از آن به شرح زیر می باشد:
TRY_CONVERT ( data_type [ ( length ) ], expression [, style ] )
آرگومان ها بین دو تابع تبدیل نوع یکسان می باشد. تنها تفاوت موجود این است که در صورت عدم موفقیت در تبدیل،TRY_CONVERT() بجای صدور خطا، مقدار NULL را برمی گرداند.