ورود

View Full Version : ایجاد یک نوع جدید فیلد؟



SYNDROME
شنبه 11 خرداد 1387, 18:19 عصر
من یک فیلد از نوع Tinyint تعریف کرده ام.
محدوده اعداد از 0 تا 255 است.
می خواهم این محدوده را تغییر دهم به صورتی که -1 را نیز قبول کند.
چطور می توانم یک نوع داده جدید برای این کار تعریف کنم.
با تشکر

ASKaffash
یک شنبه 12 خرداد 1387, 08:24 صبح
با سلام
اگر منظور شما اینستکه محدوده شود بین 1- , 255 باید از SmallInt استفاده کنید ودر فیلد مورد نظر با قید Check محدوده مورد نظر را مدیریت کنید.

SYNDROME
یک شنبه 12 خرداد 1387, 21:26 عصر
با سلام
اگر منظور شما اینستکه محدوده شود بین 1- , 255 باید از SmallInt استفاده کنید ودر فیلد مورد نظر با قید Check محدوده مورد نظر را مدیریت کنید.
می خواهم فیلد Tiny با سایز 1 را طوری تنظیم کنم که عدد منفی بگیرد.
مثلا بجای محدوده 0 تا 255 محدوده آن می خواهم منفی نیز بگیرد.
می خواهم عداد -1 ، 0 ، 1 و 2 را در آن ذخیره کنم.
نمی خواهم از Smallintاستفاده کنم چون سایز آن 2 است.
می خواهم با همان سایز 1 چنین کاری را انجام دهم.
با تشکر

ASKaffash
دوشنبه 13 خرداد 1387, 10:26 صبح
با سلام
اگر انتخاب شما در فیلد مورد نظر -1 , 0 , 1 , 2 است در زمان دریافت فیلد از طریق نرم افزار X+1 را ذخیره کنید وهنگام دریافت F-1 را مورد استفاده قرار دهید

SYNDROME
سه شنبه 14 خرداد 1387, 07:17 صبح
با سلام
اگر انتخاب شما در فیلد مورد نظر -1 , 0 , 1 , 2 است در زمان دریافت فیلد از طریق نرم افزار X+1 را ذخیره کنید وهنگام دریافت F-1 را مورد استفاده قرار دهید
ممنون از شما دوست عزیز
ولی من می خواهم بدانم چطور می توانم یک نوع داده جدید برای SQL2005 تعریف کرد.
موفق باشید

حمیدرضاصادقیان
سه شنبه 14 خرداد 1387, 09:54 صبح
سلام.شما میتونی در قسمت Programmability - types-user defined data types ، نوع فیلد جدیدی که میخوای تعریف کنی.میتونی از نوع int تعریف کنی بعد براش محدودیت بزاری.

SYNDROME
سه شنبه 14 خرداد 1387, 21:08 عصر
سلام.شما میتونی در قسمت Programmability - types-user defined data types ، نوع فیلد جدیدی که میخوای تعریف کنی.میتونی از نوع int تعریف کنی بعد براش محدودیت بزاری.
با تشکر
ولی من می خواهم با همان ظرفیت 1 چنین کاری را انجام دهم.
آیا راه حلی وجود ندارد که به توان چنین کاری را انجام داد؟
ایجاد یک نوع داده جدید با ظرفیت 1 که بتوان عدد -1 را نیز در آن ذخیره کرد.
با تشکر از دوستان

AminSobati
سه شنبه 14 خرداد 1387, 23:47 عصر
تعریف نوع داده جدید همیشه بر پایه نوعهای موجود صورت میگیره. نوع Tinyint در حقیقت Unsigned هستش و اعداد منفی رو پشتیبانی نمیکنه. تصور میکنم برای ساپورت اعداد منفی، به یک بایت دیگه نیاز داشته باشه

Behrouz_Rad
چهارشنبه 15 خرداد 1387, 09:10 صبح
در SQL Server 2005 قابلیت تعریف نوع جدید با استفاده از CLR فراهم شده.

AminSobati
چهارشنبه 15 خرداد 1387, 16:10 عصر
ولی نه با یک بایت فضا!