מיון לפי מספור משפטי SQL SERVER
-
שלום לכולם
אני צריך למיין עמודה שהיא בעצם סטרינג, אבל עלי להתייחס אליה כאל מספור משפטי (כמו בחוזים שעושים עורכי דין, 1.4.6.8 וכן הלאה) הבעיה: סטרינג כידוע ממויין באופן לא רציונלי כאשר הוא מכיל מספר, כלומר 11 הוא לפני 2 וכן הלאה. אז בשלמא עד היום חינכו אותנו לעשות cast אבל מה יהיה כשהטריק הזה כבר לא עובד??מקווה שיש למישהו רעיון.
דוגמת קוד:
declare @t table (ContractClause nvarchar(max)) insert @t values ('1'),('11'),('1.1.3'),('2.1') select * from @t order by ContractClauseפורסם במקור בפורום CODE613 ב25/07/2016 19:36 (+03:00)
-
רחמים תודה
דווקא התשובה שנמצאת כאן
זאת עם אפס הצבעות, היא הכי פשוטה ויעילה.
הקוד כך:
declare @t table (ContractClause nvarchar(max)) insert @t values ('1'),('11'),('1.1.3'),('2.1') select * from @t ORDER BY cast('/' + ContractClause + '/' as hierarchyid)פורסם במקור בפורום CODE613 ב25/07/2016 23:31 (+03:00)
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות