سبد (0)

توابع convert و cast در SQL

تبدیل یک عبارت به نوعی دیگر

Wiki

برای تبدیل یک عبارت(expression) به انواع داده ها می توان یکی از توابع زیر را بکار برد:

  • ()cast
  • ()convert

تابع ()cast

Wiki

برای تبدیل یک عبارت به نوعی دیگر استفاده می شود.

نحوه استفاده:

CAST ( expression AS data_type [ ( length ) ] )
پارامتر توضیح
expression عبارتی که باید تبدیل شود.
data_type نوع داده ای که باید عبارت، به آن تبدیل شود.
[(length)]

اختیاری است، یک عدد صحیح برای مشخص کردن طول data typeهایی مثل char - varchar - nvarchar - varbinary (مقدار پیش فرض عدد 30 است.)

مثال: در مثال زیر دو متغیر از نوع varchar در یکدیگر ضرب شده اند:

DECLARE @StrSalary Varchar(10), @StrHours Varchar(6), @WeeklySalary Decimal(6,2)
SET @StrSalary = '22.18';
SET @StrHours = '38.50';
SET @WeeklySalary = CAST(@StrSalary As Decimal(6,2)) * CAST(@StrHours As Decimal(6,2));
SELECT @WeeklySalary;

خروجی کوئری بالا:

853.93

تابع ()convert

Wiki

این تابع نیز مانند تابع ()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);

خروجی کوئری بالا:

Square Characteristics
-----------------------
Side = 48.126
Perimeter = 192.504
Area = 2316.112

برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه دادهSQLServer کلیک کنید.

آموزش صوتی SQL

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه