دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
کلمهی کلیدی sealed و object type در سی شارپ
1403/11/02 -
عملگر UNION در پایگاه داده SQL
1403/10/30 -
کلاسهای انتزاعی در سی شارپ
1403/10/30 -
توابع تبدیل کننده در پایگاه داده SQL
1403/10/29 -
متدهای override در سی شارپ
1403/10/28 -
توابع پنجره ای در پایگاه داده SQL
1403/10/28
توابع تبدیل کننده در پایگاه داده SQL
توابع تبدیلکننده در پایگاه داده SQL
توابع تبدیلکننده در SQL، مانند CAST و CONVERT، ابزارهایی قدرتمند برای تغییر نوع دادهها هستند.
این توابع به شما امکان میدهند مقادیر یا ستونها را از یک نوع داده به نوع دیگری تبدیل کنید.
برای مثال، میتوانید عددی را به رشته، تاریخ را به متن، یا عدد اعشاری را به عدد صحیح تبدیل کنید.
تابع CAST استاندارد SQL است و در اکثر پایگاههای داده پشتیبانی میشود.
در مقابل، CONVERT مختص SQL Server بوده و علاوه بر تبدیل نوع داده، امکانات قالببندی، بهویژه برای تاریخ و زمان، ارائه میدهد.
این توابع در موقعیتهایی مانند هماهنگسازی انواع داده در عملیات مقایسه، تغییر قالب نمایش دادهها، یا پردازش دادههای ورودی و خروجی مفید هستند.
بهعنوان مثال، با استفاده از CAST میتوان یک ستون متنی شامل اعداد را به نوع عددی برای محاسبات تبدیل کرد.
از سوی دیگر، CONVERT برای نمایش تاریخها در قالب دلخواه، مانند YYYY-MM-DD، مناسب است.
انتخاب بین این دو تابع به نیاز پروژه و نوع پایگاه داده مورد استفاده بستگی دارد.
مفهوم تبدیل پایگاه داده در SQL
هنگامی که با دادهها در پایگاه داده SQL کار میکنید، ممکن است نیاز به تغییر نوع دادهها داشته باشید.
این تغییر میتواند دلایلی مانند موارد زیر داشته باشد:
-
هماهنگی نوع دادهها برای عملیات مقایسه یا ترکیب دادهها.
-
تغییر قالب دادهها برای نمایش یا ذخیرهسازی.
-
کاهش خطاهای تبدیل نوع در کوئریها.
-
ایجاد مقادیر محاسباتی جدید بر اساس تبدیل نوع.
انواع توابع تبدیل پایگاه داده در SQL
-
تابع CAST
تابع CAST یکی از استانداردترین روشها برای تبدیل نوع داده در SQL است. این تابع توسط استاندارد SQL تعریف شده و تقریباً در تمامی سیستمهای مدیریت پایگاه داده پشتیبانی میشود.-
ساختار کلی CAST
-
CAST(expression AS target_data_type)
expression: مقدار یا ستون ورودی که میخواهید تبدیل شود.
target_data_type: نوع دادهای که میخواهید خروجی به آن تبدیل شود.
-
-
مثالهایی از CAST
-
تبدیل عدد به رشته
-
-
SELECT CAST(12345 AS VARCHAR(10)) AS ConvertedValue;
خروجی: '12345'
-
-
-
تبدیل رشته به عدد
-
-
SELECT CAST('12345' AS INT) AS ConvertedValue;
خروجی: 12345
-
-
- تبدیل عدد اعشاری به عدد صحیح
-
SELECT CAST(123.45 AS INT) AS ConvertedValue;
خروجی: 123
-
-
-
تبدیل تاریخ به رشته
-
-
SELECT CAST(GETDATE() AS VARCHAR(20)) AS ConvertedDate;
خروجی: '2025-01-18 15:30:00' (بسته به قالب تاریخ سیستم)
-
تابع CONVERT
تابع CONVERT یکی دیگر از روشهای تبدیل نوع داده در SQL است که مختص Microsoft SQL Server میباشد.
این تابع علاوه بر تبدیل نوع داده، امکانات بیشتری برای قالببندی دادهها، بهویژه تاریخ و زمان، فراهم میکند.-
ساختار کلی CONVERT
-
CONVERT(target_data_type, expression, style)
target_data_type: نوع داده مقصد.
expression: مقدار یا ستون ورودی که میخواهید تبدیل شود.
style: (اختیاری) قالب خروجی داده، بهویژه برای تاریخ و زمان.
-
-
مثالهایی از CONVERT
-
تبدیل عدد به رشته
-
-
SELECT CONVERT(VARCHAR(10), 12345) AS ConvertedValue;
خروجی: '12345'
-
-
-
تبدیل تاریخ به رشته با سبک مشخص
-
-
SELECT CONVERT(VARCHAR(20), GETDATE(), 120) AS ConvertedDate;
خروجی: '2025-01-18 15:30:00' (قالب YYYY-MM-DD HH:MI:SS)
-
-
-
تبدیل رشته به عدد
-
-
SELECT CONVERT(INT, '12345') AS ConvertedValue;
خروجی: 12345
-
-
-
تبدیل عدد اعشاری به عدد صحیح
-
-
SELECT CONVERT(INT, 123.45) AS ConvertedValue;
خروجی: 123
مثالهای کاربردی از توابع تبدیل کننده در پایگاه داده sql
-
جمعبندی عددی به رشته
فرض کنید جدولی به نام Orders دارید که شامل ستون OrderID (عددی) و OrderAmount (اعشاری) است.
برای ترکیب این مقادیر به صورت یک رشته:
SELECT
CAST(OrderID AS VARCHAR(10)) + ' - ' + CAST(OrderAmount AS VARCHAR(20)) AS OrderInfo
FROM Orders;
-
قالببندی تاریخ
برای نمایش تاریخ در قالب مشخص (مثلاً YYYY-MM-DD):
SELECT
CONVERT(VARCHAR(10), GETDATE(), 120) AS FormattedDate;
-
جلوگیری از خطای تبدیل
اگر ستونی شامل دادههای متنی است که برخی از مقادیر آن عدد نیستند:
SELECT
CASE
WHEN ISNUMERIC(ColumnName) = 1 THEN CAST(ColumnName AS INT)
ELSE NULL
END AS ConvertedValue
FROM TableName;
-
مرتبسازی دادههای عددی ذخیرهشده بهصورت رشته
اگر ستون NumericText شامل مقادیر عددی به صورت متن است و بخواهید بر اساس مقدار عددی مرتبسازی کنید:
SELECT *
FROM TableName
ORDER BY CAST(NumericText AS INT);
🌟 آیا میخواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟
با دوره آموزشی SQL Server ما، شما میتوانید به راحتی و با روشی عملی، تمام مهارتهای لازم را یاد بگیرید!
این دوره به شما آموزش میدهد که چگونه دادهها را به بهترین شکل مدیریت کنید، گزارشهای قدرتمند بسازید و به تحلیلهای عمیق دست یابید.
با محتوای جذاب و پروژههای واقعی، شما نه تنها تئوری را یاد میگیرید، بلکه تواناییهای عملی خود را نیز تقویت میکنید.
پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشنتر بردارید!
همین حالا شروع کنید و به دنیای دادهها بپیوندید!
نکات مهم در استفاده از CAST و CONVERT
-
دقت در تبدیلهای ناسازگار
اگر مقداری غیرقابل تبدیل باشد (مثلاً تبدیل یک رشته به عدد)، خطا رخ میدهد. -
از دست رفتن دادهها
هنگام تبدیل انواع داده بزرگتر به کوچکتر (مثلاً عدد اعشاری به عدد صحیح)، دقت داده ممکن است از بین برود. -
انتخاب ابزار مناسب
برای تبدیلهای ساده، از CAST استفاده کنید. اگر نیاز به قالببندی خاص دارید، CONVERT گزینه بهتری است. -
عملکرد
در مواردی که هر دو گزینه قابل استفاده باشند، تفاوت عملکردی قابل توجهی وجود ندارد.
مزایای توابع تبدیلکننده در پایگاه داده SQL
-
هماهنگسازی دادهها
تسهیل مقایسه و ترکیب انواع مختلف دادهها (مانند متن با عدد). -
تغییر قالب نمایش
امکان تبدیل دادهها برای نمایش خواناتر، مانند تاریخ به متن یا عدد به رشته. -
تحلیل دقیقتر
پردازش دادههای ذخیرهشده در قالبهای مختلف، مانند مرتبسازی رشتهای اعداد. -
پشتیبانی گسترده
توابعی مانند CAST در اکثر سیستمهای مدیریت پایگاه داده پشتیبانی میشوند. -
قابلیت قالببندی
تابع CONVERT امکان قالببندی تاریخ و زمان در SQL Server را ارائه میدهد. -
کاهش خطا
کمک به رفع ناسازگاریهای نوع داده هنگام اجرای کوئریها. -
انعطافپذیری بالا
امکان استفاده در سناریوهای مختلف، مانند محاسبات، نمایش، یا تغییرات در دادههای ورودی و خروجی.
دوره های مرتبط
آموزش پایگاه داده SqlServer
پایگاه داده Sqlserver یکی از پایگاه داده های مهم برای ذخیره اطلاعات محسوب میشود .