हमारे पास एक पुरानी SQL टेबल है जिसका उपयोग SQL Server 2000 द्वारा 10 वर्षों के लिए किया गया था।
इसमें, हमारे कर्मचारी बैज नंबर को उसी char(6)
से संग्रहीत किया जाता 000001
है 999999
।
मैं अब एक वेब एप्लिकेशन लिख रहा हूं, और मुझे कर्मचारी बैज नंबर स्टोर करने की आवश्यकता है।
मेरी नई तालिका में, मैं शॉर्टकट ले सकता है और पुराने तालिका की प्रतिलिपि, लेकिन मैं, बेहतर आंकड़ा अंतरण, छोटे आकार, आदि के लिए उम्मीद कर रहा हूँ बस भंडारण के द्वारा int
से मूल्यों 1
को 999999
।
C # में, मैं जल्दी int
से बैज नंबर का उपयोग करके एक मान को प्रारूपित कर सकता हूं
public static string GetBadgeString(int badgeNum) {
return string.Format("{0:000000}", badgeNum);
// alternate
// return string.Format("{0:d6}", badgeNum);
}
मैं इस साधारण एसक्यूएल क्वेरी को कैसे लौटाए गए मूल्य के रूप में अच्छी तरह से प्रारूपित करूंगा?
SELECT EmployeeID
FROM dbo.RequestItems
WHERE ID=0
यदि EmployeeID
7135 है, तो यह क्वेरी वापस आनी चाहिए 007135
।
FORMAT
C # :-)
int
मान काफी कम जगह लेते हैं char(6)
, और निर्मित किए गए भाग में इन प्रविष्टियों में से कई होंगे। दक्षता।
DATALENGTH()
प्रत्येक के अनुसार दो बाइट्स बचा सकते हैं। चूंकि कॉलम एक इंडेक्स में हो सकता है, इसलिए आप 2MB से अधिक की बचत कर सकते हैं। और अन्य स्तंभों के साथ, यह जोड़ा गया कि 2 बाइट्स पंक्ति की लंबाई को कम करने के लिए पर्याप्त हो सकती है ताकि प्रति पंक्ति 4KB पेज को बचाया जा सके। क्या यह एक मोबाइल प्लेटफ़ॉर्म पर होस्ट किया जा रहा है, या आप एक अनुत्पादक क्षेत्र में अपना ध्यान केंद्रित कर रहे हैं?
0
क्षेत्र इस क्षेत्र के लिए महत्वपूर्ण हैं, इसलिए इसेINT
बिल्कुल भी क्यों बदलें ?