خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


استفاده از تابع TRY_CAST در SQL Server

استفاده از تابع TRY_CAST در SQL Server
تابع TRY_CAST یک تابع تغییر در SQL Server است که از آن برای cast کردن مقداری به یک دیتاتایپ مشخص استفاده می شود و اگر در تبدیل موفق نشود، مقدار Null را برمیگرداند. در ادامه با مثال هایی با طرز کار و نحوه استفاده آن آشنا خواهید شد. Syntax استفاده از تابع TRY_CAST بصورت زیر می باشد.

نرم افزار سامانه مودیان راهکار



TRY_CAST ( expression AS datatype [ ( length ) ] )

Expression: در واقع مقداری که باید cast شود.
Datatype: هم در واقع همان نوع داده ای است که باید Expression بدان تبدیل یا cast شود.
Length: عدد صحیحی اختیاری که طول دیتاتایپ مقصد را مشخص می کند.
خب، حالا در ادامه مثال هایی از TRY_CAST را مشاهده خواهید کرد.

declare @Number as numeric(9,4)
set @number = 79.8675
select TRY_CAST(@number as decimal(4,2)) as output;

در اسکریپت زیر که از تابع TRY_CAST استفاده شده، برای تبدیل یک مقدار Numeric به decimal می باشد.

استفاده از تابع TRY_CAST در SQL Server
مثال زیر از تابع TRY_CAST برای تبدیل datetime به date استفاده می کند.

declare @dt datetime

set @dt = getdate()

select TRY_CAST( @dt as date ) as Output ;

استفاده از تابع TRY_CAST در SQL Server
مثال زیر از تابع TRY_CAST برای تبدیل یک رشته به یک عدد صحیح استفاده می کند.

declare @txt as varchar(9)
set @txt ='5000'
select try_cast(@txt as int) as output

استفاده از تابع TRY_CAST در SQL Server
همانطور که مشاهده می کنید ، هنگامی که می خواهیم متن رشته ای را به عدد صحیح تبدیل کنیم، Try_Cast مقدار Null را برمی گرداند.

declare @txt as varchar(9)
set @txt ='microsoft'
select try_cast(@txt as int) as output

استفاده از تابع TRY_CAST در SQL Server
اگر همین مثال فوق را با تابع CAST انجام دهید، به جای Null خطا بر خواهد گرداند.

declare @txt as varchar(9)
set @txt ='microsoft'
select cast(@txt as int) as output

استفاده از تابع TRY_CAST در SQL Server
این بدان معناست که در صورت عدم موفقیت در تبدیل ، تابع TRY_CAST مقدار Null را برمیگرداند در حالی که تابع CAST خطا را برمی گرداند.
تابع TRY_CAST اگر تبدیل صراحتا مجاز نباشد، خطا بر میگرداند. مثلا در مثال زیر قصد تبدیل یک عدد صحیح به فرمت تاریخ است که خطا بر می گرداند.

declare @Number as int
select TRY_CAST(4 as date) as Output;

استفاده از تابع TRY_CAST در SQL Server
در آخر هم باید این نکته را متذکر شویم که تابع TRY_CAST از SQL Server 2012 معرفی شده است و در نسخ قبلی، تابع TRY_CAST را نخواهید داشت.



نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز