تابع ()convert
این تابع نیز مانند تابع ()cast برای تبدیل یک عبارت استفاده می شود.
نحوه استفاده:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
پارامتر | توضیح |
---|---|
expression | عبارتی که باید تبدیل شود. |
data_type | نوع داده ای که باید عبارت، به آن تبدیل شود. |
[( length )] | اختیاری است، یک عدد صحیح برای مشخص کردن طول data typeهایی مثل char - varchar - nvarchar - varbinary (مقدار پیش فرض عدد 30 است.) |
[style] | با یک عدد تنظیم می شود و چگونگی تبدیل عبارت را مشخص می کند. |
مثال: در مثال زیر سه متغیر اعلان (Declare) شده است و بعد از انجام عملیات محاسباتی با دستور print آنها را چاپ می کنیم، توجه داشته باشید که در این دستور(print) برای چاپ متغیر های عددی باید حتماً آنها را به نوع رشته ای تبدیل کنیم:
DECLARE @Side As Decimal(10,3), @Perimeter As Decimal(10,3), @Area As Decimal(10,3);
SET @Side = 48.126;
SET @Perimeter = @Side * 4;
SET @Area = @Side * @Side;
PRINT 'Square Characteristics';
PRINT '-----------------------';
PRINT 'Side = ' + CONVERT(varchar(10), @Side, 10);
PRINT 'Perimeter = ' + CONVERT(varchar(10), @Perimeter, 10);
PRINT 'Area = ' + CONVERT(varchar(10), @Area, 10);
SET @Side = 48.126;
SET @Perimeter = @Side * 4;
SET @Area = @Side * @Side;
PRINT 'Square Characteristics';
PRINT '-----------------------';
PRINT 'Side = ' + CONVERT(varchar(10), @Side, 10);
PRINT 'Perimeter = ' + CONVERT(varchar(10), @Perimeter, 10);
PRINT 'Area = ' + CONVERT(varchar(10), @Area, 10);
خروجی کوئری بالا:
Square Characteristics
-----------------------
Side = 48.126
Perimeter = 192.504
Area = 2316.112
-----------------------
Side = 48.126
Perimeter = 192.504
Area = 2316.112