דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. SQL - GROUP BY HEBREW MONTH ?

SQL - GROUP BY HEBREW MONTH ?

מתוזמן נעוץ נעול הועבר תכנות
12 פוסטים 5 כותבים 496 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • איש נחמדא מנותק
    איש נחמדא מנותק
    איש נחמד
    כתב ב נערך לאחרונה על ידי
    #1

    האם זה אפשרי בכלל?
    לא מצאתי תיעוד בגוגל

    להיות איש נחמד זה מחייב...

    OdedDvirO yossizY 2 תגובות תגובה אחרונה
    0
    • OdedDvirO מנותק
      OdedDvirO מנותק
      OdedDvir
      השיב לאיש נחמד ב נערך לאחרונה על ידי
      #2

      @איש-נחמד אין פונקציה מובנית לחישוב תאריך עברי.
      אתה צריך לחשב בעצמך את החודש העברי, ולשמור אותו בשדה נפרד ברשומה. ואז תוכל לבצע שאילתת קיבוץ עליו.
      לא צינת את השפה בה אתה משתמש, אבל יש ספריות בשביל זה.
      אם התאריך סטטי (השדה לא נתון לשינויים), תחשב את מספר החודש העברי (על ידי קוד כנ"ל) בזמן יצירת הרשומה, ואם הוא נתון לשינויים - תחשב אותו בזמן עדכון שדה התאריך הלועזי.

      dovidD תגובה 1 תגובה אחרונה
      7
      • dovidD מחובר
        dovidD מחובר
        dovid ניהול
        השיב לOdedDvir ב נערך לאחרונה על ידי
        #3

        עוד אפשרות שאני זוכר שממליצים זה טבלה סטטית עם רשימת ימים.
        מדובר באלפי שורות בודדים, ואז בהנחה שיש לך שדה תאריך ללא שעה זה JOIN פשוט.

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        dovidD א איש נחמדא 3 תגובות תגובה אחרונה
        3
        • dovidD dovid העביר נושא זה מ-תוכנה ב-
        • dovidD מחובר
          dovidD מחובר
          dovid ניהול
          השיב לdovid ב נערך לאחרונה על ידי dovid
          #4

          להלן קוד linqpad שמייצר רשימה כזו (בחמישית השניה במחשב שלי)

          var HebrewCulture = System.Globalization.CultureInfo.CreateSpecificCulture("he-IL");
          HebrewCulture.DateTimeFormat.Calendar = new System.Globalization.HebrewCalendar();
          
          var startDate = new DateTime(2000,01,01);
          var listDays = Enumerable.Range(0, 50_000).Select(e => startDate.AddDays(e));
          var rows = listDays.Select(d => new
          {
          	GDate = d,
           	HebDate = d.ToString("d", HebrewCulture),
          	HebMonth = d.ToString("MMMM", HebrewCulture),
          	HebYear = d.ToString("yyyy", HebrewCulture),
          	HebYearInt = HebrewCulture.DateTimeFormat.Calendar.GetYear(d),
          	HebMonthInt = HebrewCulture.DateTimeFormat.Calendar.GetMonth(d)
          });
          
          Util.WriteCsv(rows, @"D:\allDates.csv");
          

          זה בין השנים 2000-2136

          עריכה: צירפתי את הקובץ לשימוש מי שרוצה
          allDates.zip

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          7
          • yossizY מנותק
            yossizY מנותק
            yossiz
            השיב לאיש נחמד ב נערך לאחרונה על ידי yossiz
            #5

            @איש-נחמד סליחה שאני מעיר שלא ממין השאלה, שים לב לחוק חדש סעיף ב.3

            ההודעה עצמה צריכה להכיל כל פרט נדרש בלי להסתמך כלל על הכותרת.

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            תגובה 1 תגובה אחרונה
            4
            • א מנותק
              א מנותק
              ארכיטקט
              השיב לdovid ב נערך לאחרונה על ידי
              #6

              @dovid אמר בSQL - GROUP BY HEBREW MONTH ?:

              עוד אפשרות שאני זוכר שממליצים זה טבלה סטטית עם רשימת ימים.
              מדובר באלפי שורות בודדים, ואז בהנחה שיש לך שדה תאריך ללא שעה זה JOIN פשוט.

              זה אני המלצתי בזמנו ונראה לי שהעלתי לפורום בצורה כזו או אחרת את הטבלה ב SQL SERVER אם זה רלוונטי אעלה אולי שוב (לא מבטיח כלום לאף אחד כבר שנים).

              אידיאולוגיות גדולות נכנסות למטחנה של עולם המעשה ויוצאות ממנו בפירורים (ווינסטון צ'רצ'יל, סתם סתם, זה שלי)

              תגובה 1 תגובה אחרונה
              2
              • איש נחמדא מנותק
                איש נחמדא מנותק
                איש נחמד
                השיב לdovid ב נערך לאחרונה על ידי איש נחמד
                #7

                @dovid אמר בSQL - GROUP BY HEBREW MONTH ?:

                עוד אפשרות שאני זוכר שממליצים זה טבלה סטטית עם רשימת ימים.
                מדובר באלפי שורות בודדים, ואז בהנחה שיש לך שדה תאריך ללא שעה זה JOIN פשוט.

                זה אומר שאני צריך להחזיק טבלה שתחזיק את כל הימים מכאן ועד סוף חיי היישום?
                אגב, זה לא תואם לשיטת הספירה של PHP, לפיה כל שנה נספרת עם 13 חודשים כדי לשמור על מספר חודש קבוע בכל שנה (אלול תמיד יהיה 13).

                להיות איש נחמד זה מחייב...

                dovidD תגובה 1 תגובה אחרונה
                0
                • dovidD מחובר
                  dovidD מחובר
                  dovid ניהול
                  השיב לאיש נחמד ב נערך לאחרונה על ידי dovid
                  #8

                  @איש-נחמד הטבלה שצירפתי מתאימה לכל חיי היישום שלך ( אלא"כ הוא עוסק בהיסטוריה כמו המהפכה הצרפתית).
                  זה לא משנה הPHP פה (ולא שהבנתי למה זה לא מתאים) כי זה JOIN ברמת הSQL. אתה מוסיף את זה כטבלה ואתה מחבר את זה בשאילתה הרצויה ולפי זה עושה GROUP BY.

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  איש נחמדא תגובה 1 תגובה אחרונה
                  2
                  • איש נחמדא מנותק
                    איש נחמדא מנותק
                    איש נחמד
                    השיב לdovid ב נערך לאחרונה על ידי
                    #9

                    @dovid אמר בSQL - GROUP BY HEBREW MONTH ?:

                    זה לא משנה הPHP פה (ולא שהבנתי למה זה לא מתאים) כי זה JOIN ברמת הSQL. אתה מוסיף את זה כטבלה ואתה מחבר את זה בשאילתה הרצויה ולפי זה עושה GROUP BY.

                    ראה כאן:
                    https://www.php.net/manual/en/function.jdtojewish.php#:~:text=In Hebrew leap years%2C the

                    ההערה שלי באה על כך שהצמדת לחודשים ניסן - אלול בשנים לא מעוברות את הספירה 7 - 12, בעוד שב- PHP הם תמיד יהיו 8 - 13.

                    להיות איש נחמד זה מחייב...

                    dovidD תגובה 1 תגובה אחרונה
                    0
                    • dovidD מחובר
                      dovidD מחובר
                      dovid ניהול
                      השיב לאיש נחמד ב נערך לאחרונה על ידי
                      #10

                      @איש-נחמד אמר בSQL - GROUP BY HEBREW MONTH ?:

                      ההערה שלי באה על כך שהצמדת לחודשים ניסן - אלול בשנים לא מעוברות את הספירה 7 - 12, בעוד שב- PHP הם תמיד יהיו 8 - 13.

                      לא מבין מה אכפת לך איך PHP ממספר, צריך להיות אכפת לך מה אתה מעוניין.

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      איש נחמדא תגובה 1 תגובה אחרונה
                      0
                      • איש נחמדא מנותק
                        איש נחמדא מנותק
                        איש נחמד
                        השיב לdovid ב נערך לאחרונה על ידי איש נחמד
                        #11

                        @dovid אמר בSQL - GROUP BY HEBREW MONTH ?:

                        @איש-נחמד אמר בSQL - GROUP BY HEBREW MONTH ?:

                        ההערה שלי באה על כך שהצמדת לחודשים ניסן - אלול בשנים לא מעוברות את הספירה 7 - 12, בעוד שב- PHP הם תמיד יהיו 8 - 13.

                        לא מבין מה אכפת לך איך PHP ממספר, צריך להיות אכפת לך מה אתה מעוניין.

                        כנראה לא הובן מדברי (?), אבל אני עובד עם PHP (רח"ל) באתר מבוסס וורדפרס (חטא שני), ומשכך אני נצרך לעבוד עם נתונים שתואמים ל-PHP. אם אני אבקש מ-PHP את החודש ה-12 של 5782 הוא יתן לי את חודש אב ולא את חודש אלול.

                        להיות איש נחמד זה מחייב...

                        dovidD תגובה 1 תגובה אחרונה
                        0
                        • dovidD מחובר
                          dovidD מחובר
                          dovid ניהול
                          השיב לאיש נחמד ב נערך לאחרונה על ידי
                          #12

                          @איש-נחמד ביקשת group by לפי חודש. בשביל זה אתה לא צריך בכלל חודש מספרי, גם קשקוש ברומאית מספיק. צריפתי את המספר לשימושים אחרים. בשביל לגשת לחודש הנכון בPHP אתה בכלל לא צריך את כל הטבלה הזו, יש פונקציות בPHP לתאריך עברי לזכרוני.

                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                          תגובה 1 תגובה אחרונה
                          2
                          • dovidD dovid העביר נושא זה מ-תכנות ב-

                          בא תתחבר לדף היומי!
                          • התחברות

                          • אין לך חשבון עדיין? הרשמה

                          • התחברו או הירשמו כדי לחפש.
                          • פוסט ראשון
                            פוסט אחרון
                          0
                          • דף הבית
                          • קטגוריות
                          • פוסטים אחרונים
                          • משתמשים
                          • חיפוש
                          • חוקי הפורום