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

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

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

SQL - GROUP BY HEBREW MONTH ?

מתוזמן נעוץ נעול הועבר תכנות
12 פוסטים 5 כותבים 499 צפיות 4 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • OdedDvirO OdedDvir

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

    dovidD מנותק
    dovidD מנותק
    dovid
    ניהול
    כתב ב נערך לאחרונה על ידי
    #3

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

    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
    dovidD א איש נחמדא 3 תגובות תגובה אחרונה
    3
    • dovidD dovid העביר נושא זה מ-תוכנה ב-
    • dovidD dovid

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

      dovidD מנותק
      dovidD מנותק
      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
        • dovidD dovid

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

          א מנותק
          א מנותק
          ארכיטקט
          כתב ב נערך לאחרונה על ידי
          #6

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

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

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

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

          תגובה 1 תגובה אחרונה
          2
          • dovidD dovid

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

            איש נחמדא מנותק
            איש נחמדא מנותק
            איש נחמד
            כתב ב נערך לאחרונה על ידי איש נחמד
            #7

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

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

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

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

            dovidD תגובה 1 תגובה אחרונה
            0
            • איש נחמדא איש נחמד

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

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

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

              dovidD מנותק
              dovidD מנותק
              dovid
              ניהול
              כתב ב נערך לאחרונה על ידי dovid
              #8

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

              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
              איש נחמדא תגובה 1 תגובה אחרונה
              2
              • dovidD dovid

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

                איש נחמדא מנותק
                איש נחמדא מנותק
                איש נחמד
                כתב ב נערך לאחרונה על ידי
                #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
                • איש נחמדא איש נחמד

                  @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 מנותק
                  dovidD מנותק
                  dovid
                  ניהול
                  כתב ב נערך לאחרונה על ידי
                  #10

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

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

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

                  • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                  • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                  איש נחמדא תגובה 1 תגובה אחרונה
                  0
                  • dovidD dovid

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

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

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

                    איש נחמדא מנותק
                    איש נחמדא מנותק
                    איש נחמד
                    כתב ב נערך לאחרונה על ידי איש נחמד
                    #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
                    • איש נחמדא איש נחמד

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

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

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

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

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

                      dovidD מנותק
                      dovidD מנותק
                      dovid
                      ניהול
                      כתב ב נערך לאחרונה על ידי
                      #12

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

                      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                      תגובה 1 תגובה אחרונה
                      2
                      • dovidD dovid העביר נושא זה מ-תכנות ב-
                      תגובה
                      • תגובה כנושא
                      התחברו כדי לפרסם תגובה
                      • מהישן לחדש
                      • מהחדש לישן
                      • הכי הרבה הצבעות


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

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

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