نمایش نتایج 1 تا 23 از 23

نام تاپیک: بهترین روش ذخیره تاریخ

  1. #1
    کاربر دائمی آواتار mhsmity
    تاریخ عضویت
    مهر 1387
    محل زندگی
    استان يزد
    سن
    36
    پست
    671

    بهترین روش ذخیره تاریخ

    سلام بهترین راه برای ذخیره تاریخ (شمسی) جیست؟

    راهنمایی کنید.

    یک تاریخ داریم که چند حالت ازش استفاده میشود.
    تاریخ به صورت فیلد کامل
    گاهی وقت فقط باسال تاریخ کار دارم
    گاهی وقت فقط با ماه و یا روز تاریخ کار دارم
    حالت تفریق و جمع هم بین تاریخ ها وجود داره

    حالا بهترین روش تعریف این متغیر در Sql چیست؟

    1- یک فیلد از نوع nvachr با طول 10 تعریف کنم؟
    2- برای هر قسمت سال ماه روز یک فیلد تعریف کنم؟
    3- آیا می توان یک فیلد داشت با سه قسمت داخل اون ؟
    اگه کسی روش سوم رو داخل Sql می دونه کمک کنه؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: بهترین روش ذخیره تاریخ

    سلام. نیازی به چند فیلد جداگانه نیست. همه مواردرو میشه با nvarchar پیاده سازی کرد. ولی اگه قراره nvarchar بزاری باید طولش رو 10 بزاری. برای بیرون کشیدن ماه یا سال میتونی از substring استفاده کنی. برای تفریق و جمع کردن تاریخ ها یه خورده کارت بیشتر میشه . ولی اگه از datetime خود sql استفاده کنی کارهات راحت تره و میتونی از توابع خود sql استفاده کنی. فقط موقع ذخیره کردن ( یا موقع خوندن) باید یک تبدیل به شمسی داشته باشی.

  3. #3

    نقل قول: بهترین روش ذخیره تاریخ

    تاریخو میلادی ذخیره کنید از نوع datetime و به راحتی هر عملیاتی رو روی اون انجام میدید ، جستجو کردن و تفریق کردن و میتونید فقط ماهشو بگیرید یا سال- روز و هر عملیاتی که مد نظرتونه و هنگام نمایش اونو تبدیل به شمسی میکنید

  4. #4
    کاربر دائمی آواتار fjm11100
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تهران
    سن
    43
    پست
    658

    نقل قول: بهترین روش ذخیره تاریخ

    اگر بصورت یک عدد 8 رقمی int ذخیره کنی سرچ و سورتش خیلی سریعتر میشه. ضمنا چرا nvarchar و چرا طول 10 مگه تاریخ 8 رقم نمیشه؟ نکنه میخواهید جداکننده های روز ماه سال را هم ذخیره کنید؟! ضمنا nvarchar نسبت به varchar سرعت را پایینتر میاره(اگر حجم خیلی زیاد باشه البته) و فقط بدرد unicode میخوره
    اگر عدد ذخیره کنی کافیه توی برنامه string بشه و سال و ماه روز را با substring جداکنی و یا با insert بین آنها اسلش یا جداکننده خودت را بزاری.

  5. #5

    نقل قول: بهترین روش ذخیره تاریخ

    سلام منم یه سوال دارم:
    توی برنامه تاریخ رو شمسی نمایش میدیم، و میخوام محاسبتی روی تاریخ داشته باشیم.
    حالا بهتر هست هنگاه ذخیره کردن در پایگاه داده شمسی ذخیره کنیم یا میلادی؟

  6. #6
    کاربر دائمی آواتار nilmil_nil
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    بندر گناوه
    سن
    36
    پست
    598

    نقل قول: بهترین روش ذخیره تاریخ

    دوستان من خیلی وقته از char(10) برای برنامه هام استفاده میکنم و تاریخ رو هم شمسی ذخیره میکنم
    تا حالا هم به مشکلی بر نخوردم
    نه برای سورت نه برای جستجو

  7. #7
    کاربر دائمی آواتار mhsmity
    تاریخ عضویت
    مهر 1387
    محل زندگی
    استان يزد
    سن
    36
    پست
    671

    نقل قول: بهترین روش ذخیره تاریخ

    پس روش سوم که فیلدهای جند بخشی مثلا اینام ها رو که اصلا نداریم

    پس بهترین راه برای ذخیره شمسی nvarchar با طول 10 هستش که تاریخ باید به فرمت 1391/05/27 باشد تا بتوان بعضی از عملیات های محاسباتی اس کیو ال رو روی اون انجام داد

    آیا روش بالا بهترین روش هستش؟

  8. #8

    نقل قول: بهترین روش ذخیره تاریخ

    نه اینجور که من برداشت کردم بهترین روش varchar(8) و فرمت ذخیره هم به صورت میلادی باشه بهتره (سرعت بیشتر در محاسبه).
    یعنی برای نمایش از تابع Persian استفاده میکنیم. و هنگام ذخیره اطلاعات زمانی رو به صورت میلادی در دیتابیس ذخیره میکنیم، و محاسبات رو هم از روی همون تاریخ میلادی انجام میدیم، فقط یه Convert.

    ولی به نظر من شمسی ذخیره کنیم راحتریم؟ آیا ذخیره شمسی مشکل داره؟

  9. #9

    نقل قول: بهترین روش ذخیره تاریخ

    نقل قول نوشته شده توسط samadblaj مشاهده تاپیک
    نه اینجور که من برداشت کردم بهترین روش varchar(8) و فرمت ذخیره هم به صورت میلادی باشه بهتره (سرعت بیشتر در محاسبه).
    یعنی برای نمایش از تابع Persian استفاده میکنیم. و هنگام ذخیره اطلاعات زمانی رو به صورت میلادی در دیتابیس ذخیره میکنیم، و محاسبات رو هم از روی همون تاریخ میلادی انجام میدیم، فقط یه Convert.

    ولی به نظر من شمسی ذخیره کنیم راحتریم؟ آیا ذخیره شمسی مشکل داره؟
    ميشه بگيد چطور سرعت بيشترش رو اندازه گيري كرديد!
    اتفاقا نظر من بر عكسه استفاده از يه تابع واسه نمايش تاريخ! موقع سرچ يه تابع ديگه واسه تبديل تاريخ شمسي به ميلادي اووووووه اينا بنظر شما باعث افزايش سرعت ميشه نسبت به يك select معمولي؟؟؟
    بهترين روش همون nvarchar(10) هست حداقلش من يكي توي 7-8 سال به مشكل نخوردم.

  10. #10
    کاربر دائمی آواتار nilmil_nil
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    بندر گناوه
    سن
    36
    پست
    598

    نقل قول: بهترین روش ذخیره تاریخ

    سلام
    دوستان من از ذخیره تاریخ شمسی به صورت 1391/01/01 استفاده میکنم و از Char(10)
    تا حالا به مشکلی بر نخوردم

  11. #11

    Thumbs down نقل قول: بهترین روش ذخیره تاریخ

    نقل قول نوشته شده توسط ali_habibi1384 مشاهده تاپیک
    ميشه بگيد چطور سرعت بيشترش رو اندازه گيري كرديد!
    اتفاقا نظر من بر عكسه استفاده از يه تابع واسه نمايش تاريخ! موقع سرچ يه تابع ديگه واسه تبديل تاريخ شمسي به ميلادي اووووووه اينا بنظر شما باعث افزايش سرعت ميشه نسبت به يك select معمولي؟؟؟
    بهترين روش همون nvarchar(10) هست حداقلش من يكي توي 7-8 سال به مشكل نخوردم.
    ضمنا nvarchar نسبت به varchar سرعت را پایینتر میاره(اگر حجم خیلی زیاد باشه البته) و فقط بدرد unicode میخوره
    جناب حبیبی اشاره کردم "اینجور که من برداشت کردم" از نظر دوستان...

    و خودمم یقین دارم Unicode سرعت رو کاهش میده چون قدرت تحمل افزایش پیدا میکنه، این سرعت نا محسوس خودش رو خیلی نشون نمیده و با چشم نمیشه تشخیص داد...

  12. #12
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: بهترین روش ذخیره تاریخ

    نقل قول نوشته شده توسط nilmil_nil مشاهده تاپیک
    سلام
    دوستان من از ذخیره تاریخ شمسی به صورت 1391/01/01 استفاده میکنم و از Char(10)
    تا حالا به مشکلی بر نخوردم
    دوست عزیز این میتونه در یک حالت ما رو دچار مشکل کنه. اگه اعداد دریافتی از کیبورد بصورت فارسی باشن یعنی به جای مثلا 1376 تایپ کنه ۱۳۷۶ ، در اینحالت اگر اشتباه نکنم چهار تا علامت سوال درج میکنه که بعدا دیگه نمیشه کاریش کرد.(در مورد varchar هم وضع به همین منوال هست. اگر اشتباه میکنم لطفا تصحیح کنید) ولی اگه از nvarchar استفاده کنیم به همون صورت ۱۳۷۶ ذخیره میشه. البته این نکته رو هم باید در نظر بگیریم که بین 1376 و ۱۳۷۶ تفاوت وجود داره و موقع جستجو کردن به مشکل برمیخوریم مگر اینکه ورود داده هامونو به یک شکل واحد در بیاریم.

  13. #13

    نقل قول: بهترین روش ذخیره تاریخ

    نقل قول نوشته شده توسط mohammaddou مشاهده تاپیک
    دوست عزیز این میتونه در یک حالت ما رو دچار مشکل کنه. اگه اعداد دریافتی از کیبورد بصورت فارسی باشن یعنی به جای مثلا 1376 تایپ کنه ۱۳۷۶ ، در اینحالت اگر اشتباه نکنم چهار تا علامت سوال درج میکنه که بعدا دیگه نمیشه کاریش کرد.(در مورد varchar هم وضع به همین منوال هست. اگر اشتباه میکنم لطفا تصحیح کنید) ولی اگه از nvarchar استفاده کنیم به همون صورت ۱۳۷۶ ذخیره میشه. البته این نکته رو هم باید در نظر بگیریم که بین 1376 و ۱۳۷۶ تفاوت وجود داره و موقع جستجو کردن به مشکل برمیخوریم مگر اینکه ورود داده هامونو به یک شکل واحد در بیاریم.
    نه دوست عزیز nvarchar مناسب نیست چون بقول شما 1370 فارسی رو هم میپذیره پشتیبانی از فارسی Unicode اما varchar فقط به صورت لاتین کارکتر و اعداد رو ذخیره میکنه.

  14. #14
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: بهترین روش ذخیره تاریخ

    نقل قول نوشته شده توسط samadblaj مشاهده تاپیک
    نه دوست عزیز nvarchar مناسب نیست چون بقول شما 1370 فارسی رو هم میپذیره پشتیبانی از فارسی Unicode اما varchar فقط به صورت لاتین کارکتر و اعداد رو ذخیره میکنه.
    لطفا یه خورده قبل از اینکه پست بزنید فکر کنید. این بهتره که ۱۳۷۶ ثبت بشه یا ؟؟؟؟ (چهار تا علامت سوال) ؟. مطمئنا اگر بصورت فارسی وارد دیتابیس بشه بعدا میشه یه کاریش کرد تا همه تاریخ ها بصورت واحد بشن ولی اگه علامت سوال درج بشه اونوقت میخوای چکار کنی؟؟؟؟؟؟

  15. #15

    نقل قول: بهترین روش ذخیره تاریخ

    دوست عزیز من خصوصیات متغییر رو توضیح دادم و زمانی که varchar ذخیره میشه طبیعتا باید نوع فرمت ذخیره هم کنترل شه.
    روش مناسب ذخیره تاریخ میلادی هستش فقط برای نمایش یه convert میشه.
    ذخیره به صورت varchar مستلزم صرف بار کمتر روی سیستم میشه عدم وجود اعراب کمتر در varchar و سرعت در عمل "زمان" که یک اصل حیاتی هستش.
    ببخشید پست رفت به حاشیه.
    موفق باشید

  16. #16
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: بهترین روش ذخیره تاریخ

    نقل قول نوشته شده توسط samadblaj مشاهده تاپیک
    دوست عزیز من خصوصیات متغییر رو توضیح دادم و زمانی که varchar ذخیره میشه طبیعتا باید نوع فرمت ذخیره هم کنترل شه.
    روش مناسب ذخیره تاریخ میلادی هستش فقط برای نمایش یه convert میشه.
    ذخیره به صورت varchar مستلزم صرف بار کمتر روی سیستم میشه عدم وجود اعراب کمتر در varchar و سرعت در عمل "زمان" که یک اصل حیاتی هستش.
    ببخشید پست رفت به حاشیه.
    موفق باشید
    نه اتفاقا چنین بحث هایی خیلی میتونه مفید باشه ( به شرطی که از ادب دور نشیم و علمی حرف بزنیم). همونطور که آقای حبیبی گفتن در مواردی که داده ها سنگین باشن میتونه تا حدودی روی سرعت تاثیر بذاره ولی در اینگونه موارد تاثیر آنچنانی نداره.

  17. #17
    کاربر دائمی
    تاریخ عضویت
    مهر 1392
    محل زندگی
    البرز
    پست
    258

    نقل قول: بهترین روش ذخیره تاریخ

    واااا؟
    منکه از نوع dateتعریف کردم ...تازه شمسی هم ذخیره کردم
    اختلاف بین دو تا تاریخ هم میده بهم
    دو روز به تاریخ روزم اضافه هم میکنه
    حتی دیر کرد تاریخ ئهم میده ...
    بحث های جالبی میبینه آدم اینجا
    .....

    ...
    .
    .
    .
    . اصلاح میکگنم nvarchar
    آخرین ویرایش به وسیله sm_1366 : سه شنبه 10 تیر 1393 در 15:32 عصر

  18. #18

    نقل قول: بهترین روش ذخیره تاریخ

    در پست شماره 3 جواب گفته شد
    بهترین روش ذخیره تاریخ با هر شرایطی که به ذهن شما خطور کنه ، ذخیره تاریخ بر اساس تاریخ میلادی هست.
    با استفاده از توابع تبدیل تاریخ دات نت یه کلاس برای تبدیل تاریخ بنویسید (به وفور در این انجمن پیدا میشه) بعد در زمان خواندن اطلاعات و قبل از ذخیره آن ، تغییرات مورد نظر را اعمال کنید.
    همیشه دنبال راه حل ساده از قبیل فیلدهای رشته ای و غیره نباشید ، از اول کار را اصولی انجام بدین. سعی کنید کارهاتون استاندارد باشه

  19. #19
    کاربر دائمی
    تاریخ عضویت
    مهر 1392
    محل زندگی
    البرز
    پست
    258

    نقل قول: بهترین روش ذخیره تاریخ

    نقل قول نوشته شده توسط sh مشاهده تاپیک
    در پست شماره 3 جواب گفته شد
    بهترین روش ذخیره تاریخ با هر شرایطی که به ذهن شما خطور کنه ، ذخیره تاریخ بر اساس تاریخ میلادی هست.
    با استفاده از توابع تبدیل تاریخ دات نت یه کلاس برای تبدیل تاریخ بنویسید (به وفور در این انجمن پیدا میشه) بعد در زمان خواندن اطلاعات و قبل از ذخیره آن ، تغییرات مورد نظر را اعمال کنید.
    همیشه دنبال راه حل ساده از قبیل فیلدهای رشته ای و غیره نباشید ، از اول کار را اصولی انجام بدین. سعی کنید کارهاتون استاندارد باشه

    به نظرتون من اشتباه کردم که از نوع date در نظر گرفتم و شمسی هم ذخیرش میکنم؟

  20. #20
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: بهترین روش ذخیره تاریخ

    نقل قول نوشته شده توسط sm_1366 مشاهده تاپیک
    به نظرتون من اشتباه کردم که از نوع date در نظر گرفتم و شمسی هم ذخیرش میکنم؟
    بله.
    شما تاریخ 1392/02/30 رو میتونید ذخیره کنید؟

  21. #21
    کاربر دائمی
    تاریخ عضویت
    مهر 1392
    محل زندگی
    البرز
    پست
    258

    نقل قول: بهترین روش ذخیره تاریخ

    بله چرا که نه
    30-02-1392

  22. #22
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: بهترین روش ذخیره تاریخ

    نقل قول نوشته شده توسط sm_1366 مشاهده تاپیک
    بله چرا که نه
    30-02-1392
    اول امتحان کنید بعد بگید بله.
    ماه دوم میلادی روز 30 ام نداره و شما نمیتونید یک چنین تاریخی رو به عنوان تاریخ میلادی (در فیلد نوع date) ذخیره کنید.

  23. #23
    کاربر دائمی
    تاریخ عضویت
    مهر 1392
    محل زندگی
    البرز
    پست
    258

    نقل قول: بهترین روش ذخیره تاریخ

    من عذر خواهی میکنم... برادر واقعا شرمنده من از نوع nvarchar گرفتم...ببخشید

تاپیک های مشابه

  1. سوال: بهترین روش ذخیره Password
    نوشته شده توسط regbyte در بخش C#‎‎
    پاسخ: 15
    آخرین پست: دوشنبه 09 تیر 1393, 20:35 عصر
  2. مبتدی:بهترین روش گرفتن تاریخ
    نوشته شده توسط nimamohammadi در بخش C#‎‎
    پاسخ: 2
    آخرین پست: یک شنبه 18 بهمن 1388, 22:35 عصر
  3. سوال: بهترین روش ذخیره تنظیمات
    نوشته شده توسط rezatati در بخش C#‎‎
    پاسخ: 4
    آخرین پست: دوشنبه 17 فروردین 1388, 09:13 صبح
  4. درخواست راهنمایی جهت بهترین روش ذخیره اطلاعات
    نوشته شده توسط rezamim در بخش Foxpro
    پاسخ: 10
    آخرین پست: یک شنبه 01 مهر 1386, 17:43 عصر
  5. بهترین روش ذخیره عکس
    نوشته شده توسط azam2005 در بخش ASP.NET Web Forms
    پاسخ: 12
    آخرین پست: شنبه 01 مهر 1385, 09:42 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •