![]() |
ארגון נתונים של הוצאה ממסד לפי מחרוזת.
יש לי עמודה במסד בשם time
והיא בנוייה בפורמט כזה: PHP קוד:
זאת הכוונה. איך אני מבצע את זה? ORDER BY לא מועיל בקטע הזה. ------ העמודה הייתה בפורמט TEXT ולא בפורמט time סידרתי את זה עם כמה דברים וזהו.. |
למה לא להשתמש בפונקציה של mysql
()date |
למה אתה לא מאחסן את הזמנים עם time() שמחזיר לך זמנים בint של שניות?
ככה אתה יכול למיין לפי זמנים (מספר גדול יותר = זמן מאוחר יותר) וגם הצגה של הזמנים בכל פורמט שתרצה (אחרי השליפה להשתמש בפונקצייה date לקבלת איזה פורמט שתרצה). |
אני מכיר את זה,
במקרה הזה אני צריך אותם ככה. |
אם מה שמעניין אותך זה רק השעה והדקה, ומדובר בשעון 24 אני הייתי עושה שני שדות TINY INT שבאחד הייתי שומר את המספר של הדקה ובאחד את השעה
או שדה DATETIME ואם לא אכפת מהתאריך, תעשה שהכל באותו תאריך רק מה ששונה זה השעה והדקה. אפשר בקלות לעשות שאילתא שתקח את הנתוני STRING שלך ותכניס אותם לשדות הרלונטים, אפילו בלי לערב PHP רק בMYSQL (במידה וזה לא טבלאות ענקיות כמובן...) לחלופין: אם ממש לא אכפת לך מיעילות וזה איזה משהו חד פעמי אתה יכול בתוך השאילתה לפרק את הסטרינג למספר ולעשות את הORDER BY לפי זה אבל קח בחשבון שזה יהיה חייב לטייל על כל הטבלה |
כמו שכבר אמרו לך מה שלא תמצא - זה יהיה דיי לא יעיל. אבל אם אתה ממש צריך את זה - פתרון אפשרי (אך כמו שנאמר - לא יעיל בעליל):
תעשה: PHP קוד:
|
ציטוט:
חידשתם לי דברים.. |
למה לא להשתמש בשדה מהסוג המיועד לכך וזהו..?
https://dev.mysql.com/doc/refman/5.5...ime-types.html |
אם היית קורא את הנושא כמו שצריך הייתי מבין שכבר עליתי על הפתרון.
שאלה נוספת - יש לי ערך כזה xx:xx:xxxx אני רוצה לפצל את הxx:xx הראשונים סוג של explode אני מעוניין לבצע את זה דרך SQL. |
הכל נמצא בתיעוד של MYSQL :-)
|
כל הזמנים הם GMT +2. הזמן כעת הוא 17:32. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ