PDA

View Full Version : مناسبترین شیوه ذخیره تاریخ و زمان بصورت فارسی(char) و یا انگلیسی(dateTime)



sajad_3dmax
دوشنبه 11 خرداد 1394, 11:39 صبح
باسلام خدمت همه عزیزان
از محضرتون سوال داشتم که آیا برای ذخیره تاریخ در جداول اونها رو بصورت فارسی و در فیلدی با نوع char(10) ذخیره کنیم
ویا بصورت میلادی(dateTime) ذخیره کنیم و در موقع واکشی تبدیل به تاریخ شمسی کنیم؟
تشکر از کمکتون

ebrahim.rayatparvar
دوشنبه 11 خرداد 1394, 11:51 صبح
سلام مهندس جان.
این کار بستگی به راحتی هر کسی داره مثل دوستای خودم که به صورت شمسی میگیرند کار می کنند میگن راحترن ولی من به شخصه از DateTime استفاده می کنم و موقع ذخیره کردن تو دیتابیس تبدیل به میلادی می کنم و برعکس. به نظر من SQL دلیلی داشته که نوع Date رو نوع متغیر ها گذاشته منم باهاش راحتم.

RmeXXXXXXXXX
دوشنبه 11 خرداد 1394, 16:28 عصر
موافقم!
تصور کنید ک تاریخ همیشه میلادی است. پس با تاریخ میلادی کار میکنید.موقع نمایش دادن (توسط یه تابع (متد اضافه) ) اونو به خورشیدی تبدیل کنید و موقع دریافت نوع تقویم رو خورشیدی تنظیم کنید. تمام محاسبات شما هم صحیح تر ازهمیشه جواب خواهند داد (نسبت به یک رشته 10 حرفی) چون پشتیبانی درونی از نوع تاریخ میشه.

davidrobert
دوشنبه 11 خرداد 1394, 19:51 عصر
از نظر من برای تاریخ وارسی nvarchar استفاده کنید بهتر هستش بخاطر همین در برنامه خطا روخ نمیدهد چون خودم از nvarchar هم برای زمان و تاریخ شمسی استفاده میکنم و هیچ مشکلی هم ندارم. و سریع کارم پیش میره.

Javad_raouf
دوشنبه 11 خرداد 1394, 20:20 عصر
سلام داداش
یک ترابایت هارد یا حداقل در بدترین سیستم ها 160 گیگ هارد:لبخند:
مگه مشکل فضا داریم که باید بین شمسی و میلادی یکی رو انتخاب کنیم؟؟؟:متفکر:
به نظر من کسی که از هر دوتاش استفاده نکنه بزرگترین ظلم رو به خودش کرده:عصبانی++:
بعضی وقت ها میلادی به درد می خوره مثلا می خوای گزارشت رو هفته به هفته گروه بندی کنی اگر با nchar و تاریخ شمسی بخوای این کار رو بکنی بیچاره ای تا این کار رو انجام بدی ولی با توابع تاریخی که برای DateTime وجود داره خیلی راحت و با سرعت بالا می تونی این کار رو انجام بدی
یا خیلی از مقایسه ها و شرط ها در گزارشات که تاریخ شمسی به دردت می خوره که اگر بخوای میلادی رو به شمسی در محیط SQL تبدیل کنی کلی افت سرعت داری

در کل به نظر من آدم تاریخ رو به میلادی و شمسی و قمری و گبری و... هم ذخیره کنه ضرر نداره چون موقع Insert و Update هر چی هم تبدیل و کانورت داشته باشیم روی یک رکورد داریم و اصلا افت سرعت نخواهیم داشت
ولی وای به حال کسی که بخواد توی Select از این کانورت ها و تبدیل ها استفاده کنه

امیدوارم اشتباه رو نکنی و یکی رو انتخاب نکنی وگرنه مسلما بعدا پشیمون میشی مگر اینکه برنامت کوچیک باشه

reza_ali202000
دوشنبه 11 خرداد 1394, 22:54 عصر
همون varchar استفاده کن تا بره!
الکی خودتو سر این مسائل کوچیک اذیت نکن!
حالا فک کن مثلا میلادی ذخیره کردی بعد 6 ماه میخای یه تغییراتی بدی حالا یه جای خیلی خیلی کوچیک یادت بره تابع تبدیل شمسی به میلادی رو فرابخونی! یه فاجعه توی برنامت رخ داده ولی نمیدونی!
حالا گیرم که خواسی هفتگی بگیری شکر خدا کلی کامپوننت تاریخ شمسی وجود داره که به راحتی این کارا رو میکنی!
خلاصه در کل میگم اینجور استثناعات رو نادیده بگیر و اگر به اینجور استثناعات خوردی دوباره بیا همینجا تا کمکت بدیم.
خیلی حال میده:لبخند: