जवाबों:
यह लंबे (या Int64 ) से मेल खाती है , 64-बिट पूर्णांक।
यद्यपि यदि डेटाबेस से संख्या पर्याप्त रूप से छोटी होती है, और आप गलती से एक इंट 32 का उपयोग करते हैं, आदि, तो आप ठीक हो जाएंगे। लेकिन Int64 इसे जरूर आयोजित करेगा।
और अगर आपको कुछ छोटा और पूर्ण आकार की आवश्यकता होती है, तो आपको जो त्रुटि मिलती है, वह क्या है? एक ढेर अतिप्रवाह! वाह!
long
पूंजीकृत नहीं है।
मेरे पास बस एक स्क्रिप्ट थी जो एक इंसर्ट की प्राथमिक कुंजी लौटाती थी और एक का उपयोग करती थी
SELECT @@identity
मेरी Bigint प्राथमिक कुंजी पर, और मुझे लंबे समय का उपयोग करके एक कास्ट त्रुटि मिलती है - यही कारण है कि मैंने यह खोज शुरू की है। कम से कम मेरे मामले में सही उत्तर यह है कि उस चयन द्वारा लौटाया गया प्रकार NUMERIC है जो दशमलव प्रकार के बराबर है। लंबे समय तक उपयोग करने से एक कास्ट अपवाद होगा।
यह एक से अधिक Google खोज (या स्टैक ओवरफ़्लो पर!) में आपके उत्तरों की जांच करने का एक कारण है।
डेटाबेस व्यवस्थापक को उद्धृत करने के लिए जिसने मेरी मदद की:
... BigInt INT64 के समान नहीं है, चाहे वे एक जैसे दिखते हों। इसका कारण यह है कि एसक्यूएल सामान्य प्रसंस्करण के भाग के रूप में अक्सर Int / BigInt को न्यूमेरिक में बदल देगा। इसलिए जब यह OLE या .NET में जाता है तो आवश्यक रूपांतरण NUMERIC to INT है।
हम अक्सर नोटिस नहीं करते हैं क्योंकि मुद्रित मूल्य समान दिखता है। "
एक लंबे डेटाटाइप का उपयोग करें।
आप long
टाइप का उपयोग कर सकते हैं याInt64
अधिकांश मामलों के लिए यह c (# में64) लंबा है