پارس دیتا
کد: KB-SD-FA-3
زمان انتشار: چهارشنبه 18 اردیبهشت 1392

تفاوت char، nchar، varchar و nvarchar در SQL Server در هنگام استفاده از Tableهای فارسی (Unicode)

در SQL Server هر ستون، متغیر محلی، عبارت و یا پارامتر، یک نوع داده مرتبط دارد. یک نوع داده، یک مشخصه است که نوع داده ای که یک شیء می تواند داشته باشد را، مشخص می نماید. داده صحیح، کاراکتر، زمان و تاریخ، رشته های باینری و ... از این جمله اند. هنگامی که قصد ذخیره نمودن داده ها را به زبان دیگری، غیر از انگلیسی دارید، می بایست در دیتابیس از نوع داده nchar یا nvarchar استفاده نمائید.

جهت آگاهی از انواع فیلدها در دیتابیس SQL می توانید از راهنمای تصویری ذیل استفاده نمائید.

طریقه انجام به شرح ذیل می باشد:

char : یک رشته با طول ثابت می باشد. برای مثال در صورتی که یک فیلد (char(10 تعریف نموده و کلمه test را در آن ذخیره نمائید، آن فیلد در واقع کلمه test را به علاوه 6 کاراکتر space (که در مجموع 10 کاراکتر می گردد) در این فیلد ذخیره می نماید.

[(nchar[(n : رشته داده ای Unicode (مناسب برای ذخیره سازی داده به زبان فارسی) با طول ثابت می باشد. n طول رشته را مشخص می نماید و می تواند از 1 تا 4000 باشد. سایز ذخیره سازی این نوع، به بایت، دو برابر مقدار n است.

varchar : یک رشته با طول متغیر می باشد. این نوع، با بیشتر دیتابیس ها همخوانی دارد. در صورتی که یک فیلد (varchar(10 ایجاد نموده و کلمه test را در آن وارد نمائید، تنها test را ذخیره می نماید. این فیلد تا 8000 کاراکتر را می تواند ذخیره نماید.

[(nvarchar[(n/max : رشته داده ای Unicode (مناسب برای ذخیره سازی داده به زبان فارسی) با طول متغیر می باشد. n طول رشته را مشخص می نماید و می تواند از 1 تا 4000 باشد. Max نشان دهنده بیشترین اندازه ذخیره داده می باشد و آن برابر 2 - 2^31 بایت می باشد(2GB). میزان فضای ذخیره سازی، به بایت، دو برابر داده وارد شده به علاوه 2 می باشد.

آخرین بروزرسانی: شنبه 30 شهریور 1392 10:07:02