הצגת מספר עם פסיקים (אלפים)

27/11/2010

תגיות: , , , ,
אין תגובות

נשאלתי כיצד ניתן להציג מספרים עם פסיקים מפרידים, למשל- 1234567 כך 1,234,567.

התשובה המיידית היא שדברים כאלה ראוי שיעשו בממשק המשתמש ולא בדטבייס, אבל מה לעשות וזו השאלה וגם אני לא אוהב לקבל תשובות שמשמעותן "יש לי תשובה מצויינת אך לא לשאלה ששאלת, אז במקום שאני אתאים את התשובה לשאלה, אתה תתאים את השאלה לתשובה"..

הפתרון הכי טוב שמצאתי הוא להשתמש בפונקציית Convert בצירוף אופציית ה-Style שמאפשרת הצגת מספרים מסוג Moneyו-SmallMoney עם פסיקים כנדרש, ובתוספת שתי ספרות מימין לנקודה.

לשם כך יש להפוך את המספר ל-Money בעזרת Cast, ואם מתעקשים להשמיט את הנקודה ושתי הספרות שמימין לה- מחליפים את שלושת התווים האחרונים – 00. – במחרוזת ריקה.. התנצלתי מראש שזה הפתרון הכי טוב שמצאתי!

המספר המקורי, המספר עם הפסיקים ושתי הספרות המיותרות, והמספר ללא הסרח העודף, לפניכם:

Select    object_id, 

        Convert(Varchar,Cast(object_id As Money),1), 

        Replace(Convert(Varchar,Cast(object_id As Money),1),'.00','')

From    sys.objects;

Go

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *