• وبلاگ : شايد سخن حق
  • يادداشت : تبديل ساده تاريخ ميلادي به شمسي در SQL Server
  • نظرات : 1 خصوصي ، 28 عمومي
  • چراغ جادو

    نام:
    ايميل:
    سايت:
       
    متن پيام :
    حداکثر 2000 حرف
    كد امنيتي:
      
      
     
    سلام
    خيلي خيلي ممنون بابت انتشار اين اسکريپ کاربردي و پي‌نوشت‌هاي بعد از اون!

    تابع SDAT که سريع‌تر خروجي رو توليد مي‌کنه و آقاي مهدي‌زاده لطف کردند و منتشرش کردند، در مورد «چندمين روز سال» يعني همون فرمت «SaalRooz» مشکل داره. به نظر مي‌رسه اين مشکل براي تاريخ‌هاي بين 11 دي تا 29 اسفند (مثلا 2015-01-01 تا 2015-03-20) ايجاد مي‌شه.
    يک نمونه از مقايسه خروجي تابع G2J و SDAT:
    http://s9.picofile.com/file/8273810250/DateDimension.PNG

    به هر حال تشکر بابت اشتراک‌گذاري هر دو تابع.
    موفق باشيد
    پاسخ

    سلام. تشكر از اين كه به اين نكته اشاره فرموديد. اميدوارم ايشان مطلب شما را مشاهده كرده و تابع خود را اصلاح نمايند. تابع ايشان فرآيند به ظاهر بسيار پيچيده‌اي دارد كه فهم آن نياز به دقت و بررسي فراوان دارد و من نيز هنوز از آن سر در نياورده‌ام. اما اين تابعي كه بنده منبع اصلي آن را از كامنتي در سايت آقاي فعال‌خواه يافته‌ام، نوشته شده توسط «روح‌اله» در 29 آذر 1393، الگوريتم بسيار ساده‌اي دارد كه به راحتي درك مي‌شود. اگر چه كبيسه‌هاي پنج‌ساله در آن ديده نشده است، ولي هر زمان چنين كبيسه‌هايي رخ داد، به دليل سادگي فرآيند، با اضافه كردن يك IF مي‌توان مشكل را حل نمود. موفق باشيد.