پاسخ به:آموزش SQL
دوشنبه 10 آذر 1393 10:36 PMآموزش SQL-تابع Cast
تبدیل یک عبارت به نوعی دیگر
Wiki
برای تبدیل یک عبارت(expression) به انواع داده ها می توان یکی از توابع زیر را بکار برد:
- ()cast
- ()convert
تابع ()cast
Wiki
برای تبدیل یک عبارت به نوعی دیگر استفاده می شود.
نحوه استفاده:
| پارامتر | توضیح |
|---|---|
| expression | عبارتی که باید تبدیل شود. |
| data_type | نوع داده ای که باید عبارت، به آن تبدیل شود. |
| [(length)] |
اختیاری است، یک عدد صحیح برای مشخص کردن طول data typeهایی مثل char - varchar - nvarchar - varbinary (مقدار پیش فرض عدد 30 است.) |
مثال: در مثال زیر دو متغییر از نوع varchar در یکدیگر ضرب شده اند:
SET @StrSalary = '22.18';
SET @StrHours = '38.50';
SET @WeeklySalary = CAST(@StrSalary As Decimal(6,2)) * CAST(@StrHours As Decimal(6,2));
SELECT @WeeklySalary;
خروجی کوئری بالا:
تابع ()convert
Wiki
این تابع نیز مانند تابع ()cast برای تبدیل یک عبارت استفاده می شود.
نحوه استفاده:
| پارامتر | توضیح |
|---|---|
| expression | عبارتی که باید تبدیل شود. |
| data_type | نوع داده ای که باید عبارت، به آن تبدیل شود. |
| [( length )] |
اختیاری است، یک عدد صحیح برای مشخص کردن طول data typeهایی مثل char - varchar - nvarchar - varbinary (مقدار پیش فرض عدد 30 است.) |
| [style] |
با یک عدد تنظیم می شود و چگونگی تبدیل عبارت را مشخص می کند. |
مثال: در مثال زیر سه متغییر اعلان (Declare) شده است و بعد از انجام عملیات محاسباتی با دستور print آنها را چاپ می کنیم، توجه داشته باشید که در این دستور(print) برای چاپ متغییر های عددی باید حتماً آنها را به نوع رشته ای تبدیل کنیم:
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);
خروجی کوئری بالا:
-----------------------
Side = 48.126
Perimeter = 192.504
Area = 2316.112