۱۴۰۴/۰۶/۲۸
انواع داده ها در SQL
در SQL Server انواع داده (Data Types) خیلی مهم هستن، چون تعیین میکنن دادهای که در ستون ذخیره میشه چه شکلی باشه، چقدر فضا بگیره و چه عملیاتهایی روش قابل انجام باشه.
📌 دستهبندی کلی انواع دادهها در SQL Server
1️⃣ عددی (Numeric Data Types)
برای ذخیره مقادیر عددی.
- int, bigint, smallint, tinyint → اعداد صحیح با سایزهای مختلف.
intپرکاربردترین هست (۴ بایت، بازه: -2,147,483,648 تا 2,147,483,647).
- decimal(p,s) / numeric(p,s) → اعداد دقیق با تعداد رقم مشخص (مثلاً قیمت، پول).
- float / real → اعداد تقریبی (برای محاسبات علمی، جایی که دقت کامل لازم نیست).
- money / smallmoney → برای مقادیر مالی (ولی معمولاً به خاطر مشکلات دقت، توصیه میشه
decimalاستفاده بشه).
2️⃣ کاراکتری (Character/String Data Types)
برای متن و رشتهها.
- char(n) → رشته ثابت طول (مثلاً
char(10)همیشه ۱۰ کاراکتر ذخیره میکنه). - varchar(n) → رشته متغیر طول (برای متنهای کوتاه مثل نام، ایمیل).
- varchar(max) → برای متنهای خیلی طولانی (تا 2GB).
- nchar(n), nvarchar(n), nvarchar(max) → مشابه بالا ولی برای ذخیره متنهای یونیکد (چندزبانه مثل فارسی، عربی، چینی).
3️⃣ تاریخ و زمان (Date and Time Data Types)
برای ذخیره تاریخ و ساعت.
- date → فقط تاریخ (YYYY-MM-DD).
- time → فقط زمان (HH:MM:SS).
- datetime → تاریخ و زمان با دقت ثانیه.
- smalldatetime → تاریخ و زمان با دقت دقیقه.
- datetime2 → تاریخ و زمان با دقت بالاتر (توصیه میشه بهجای datetime معمولی استفاده بشه).
- datetimeoffset → تاریخ و زمان همراه با اختلاف منطقه زمانی (Time Zone).
4️⃣ باینری (Binary Data Types)
برای ذخیره دادههای باینری مثل فایلها، عکسها.
- binary(n) → داده باینری با طول ثابت.
- varbinary(n) → داده باینری با طول متغیر.
- varbinary(max) → برای فایلها و دادههای خیلی بزرگ (مثل تصاویر یا PDF).
5️⃣ دیگر انواع خاص
- bit → فقط ۰ یا ۱ (Boolean).
- uniqueidentifier → برای ذخیره GUID (شناسه یکتا جهانی).
- xml → برای ذخیره دادههای XML.
- json → به صورت مستقیم نوع داده نداره، ولی میشه در
nvarchar(max)ذخیره کرد و با توابع JSON کوئری زد. - sql_variant → میتونه مقادیر انواع مختلف رو ذخیره کنه (ولی کمتر استفاده میشه).
- hierarchyid → برای ذخیره دادههای سلسلهمراتبی (مثل ساختار درختی سازمان).
- geometry / geography → برای دادههای مکانی و نقشهها.
📌 جمعبندی کاربردها
- اگر داده عددیه →
int,decimal,float - اگر متنیه →
varchar,nvarchar - اگر تاریخ و زمانه →
datetime2,date - اگر فایل/باینریه →
varbinary(max) - اگر کلید یکتا نیاز داری →
uniqueidentifier
Accept Cookies
[your-shortcode]