विशेष रूप से बोलने के लिए मुझे केवल घंटों की आवश्यकता है: मिनट लेकिन कहें कि मेरे पास .NET टाइमस्पेन ऑब्जेक्ट है, मुझे इसे SQL (CE) डेटाबेस में कैसे स्टोर करना चाहिए?SQL सर्वर सीई में एक टाइमपैन का प्रतिनिधित्व करने का सबसे अच्छा तरीका क्या है?
उत्तर
मैं ticks की संख्या का प्रतिनिधित्व करने के लिए लंबे समय तक उपयोग करने की अनुशंसा करता हूं। TimeSpan इसका आंतरिक प्रतिनिधित्व के रूप में उपयोग करता है। यह आपको Timespan.FromTicks() विधि के साथ आसानी से अपने ऑब्जेक्ट का पुनर्निर्माण करने देता है, और Timespan.Ticks property का उपयोग कर डेटाबेस में आउटपुट देता है। .NET में समय की सबसे छोटी इकाई टिक है, जो 100 नैनोसेकंड
एसक्यूएल सीई में समय का प्रकार नहीं है, या उपयोगकर्ता परिभाषित प्रकार नहीं हैं, इसलिए आपके विकल्प डेटाटाइम हैं या एक मिनट मिनट का प्रतिनिधित्व करते हैं। यदि आपको स्टोर करने की सबसे बड़ी समय 23:59 = 23 * 60 + 59 = 1439 = मिनट 0 से शुरू होने वाले दिन में मिनटों की संख्या है, तो एक छोटा सा छोटा अभिन्न प्रकार है जो उस सीमा को समायोजित करेगा।
छोटे कॉलम के रूप में अलग कॉलम में घंटे और मिनट स्टोर करने के लिए प्रलोभन का विरोध करें। वह एक ही स्थान के रूप में एक ही स्थान के रूप में उपयोग करेगा, लेकिन फिर समय की हर गणना के लिए 60 से गुणा करने और मिनट जोड़ने की आवश्यकता होगी, और प्रत्येक order by
को एक के बजाय दो कॉलम की आवश्यकता होगी।
मिनट के रूप में स्टोर करें; प्रदर्शन पर, आप
select floor(absminutes/60) as hours, absminutes % 60 as minutes,
from some table
order by absminutes;
साथ घंटे में मिनट और मिनट अलग कर सकते हैं मैं स्तंभ (रों) minutes
, या absminutes
(निरपेक्ष मिनट के लिए) नाम हैं तो आप से एक दिन में 1439 मिनट भेद करने के लिए चाहते हैं एक घंटे में 0-59 मिनट।
एक समयावधि वस्तु के लिए डेटाबेस मूल्य से बदलने के लिए, new Timespan(absminutes * TimeSpan.TicksPerMinute)
के साथ इस new TimeSpan(floor(absminutes/60), absminutes % 60, 0)
तरह ctor Timespan(int, int, int)
या (बेहतर) ctor Timespan(long)
का उपयोग करें।
टाइम्सpan ऑब्जेक्ट से डेटाबेस डालने या अपडेट करने के लिए, someTimespan.TotalMinutes % 1440
पर अनुपस्थित सेट करें।
एक वर्कर के रूप में स्टोर के बराबर है। TimeSpan.ToString()
का उपयोग कर एसक्यूएल में सहेजें। एसक्यूएल रूप से पढ़ें:
TimeSpanObj = TimeSpan.Parse(fieldValue)
यह डाउनवॉट क्यों किया गया था? यह एक वैध सुझाव है, और यदि आपको सीधे SQL डेटा संपादित करना है, तो '1200000000' के बजाय" 2 मिनट "लिखना बहुत आसान है। –
मैं इस समय इस संभाल करने के लिए एसक्यूएल समय का उपयोग कर पर विचार कर रहा हूँ, लेकिन यह> = 24 घंटे के लिए काम नहीं करेगा।
लाभों में एसक्यूएल और कोड दोनों में आसानी से उपयोग करने योग्य, आसानी से उपयोग करने योग्य शामिल हैं, लेकिन गिरावट यह है कि आपके पास खेलने के लिए केवल एक छोटा सा समय है।
declare @delay table (DelayTime Time(3))
insert into @delay values ('00:10:00.000')
select getdate() as nowtime, getdate()+DelayTime as nowPlusTen from @delay
और
SqlDataReader dr = cmd.ExecuteReader();
DelayTime = (TimeSpan) dr["DelayTime"];
- 1. .NET में एक अपरिवर्तनीय सूची का प्रतिनिधित्व करने का सबसे अच्छा तरीका क्या है?
- 2. क्या टाइमस्पेन के साथ दशकों का प्रतिनिधित्व करने का यह सबसे अच्छा तरीका है?
- 3. SQL डेटाबेस में रंग का प्रतिनिधित्व करने का सबसे अच्छा तरीका?
- 4. SQL सर्वर तालिका में बड़ी मात्रा में टेक्स्ट स्टोर करने का सबसे अच्छा तरीका क्या है?
- 5. SQL सर्वर 2005/2008 में ऐतिहासिक डेटा को संग्रहीत करने का सबसे अच्छा तरीका क्या है?
- 6. वस्तुओं में प्राथमिकताओं/वरीयताओं का प्रतिनिधित्व करने का सबसे अच्छा तरीका क्या है?
- 7. SQL सर्वर में बड़ी तालिकाओं को विभाजित करने का सबसे अच्छा तरीका क्या है?
- 8. 2 डी साइड-स्क्रोलर में स्तरों का प्रतिनिधित्व करने का सबसे अच्छा तरीका क्या है?
- 9. SQL सर्वर 2008 में एसएसएन को एन्क्रिप्ट करने का सबसे अच्छा तरीका क्या है?
- 10. SQL सर्वर में किसी दिनांक को छोटा करने का सबसे अच्छा तरीका क्या है?
- 11. SQL सर्वर रोलबैक स्क्रिप्ट बनाने का सबसे अच्छा तरीका?
- 12. SQL सर्वर कनेक्शन प्रोग्रामेटिक रूप से परीक्षण करने का सबसे अच्छा तरीका क्या है?
- 13. ग्रीष्मकालीन समय नियमों का प्रतिनिधित्व करने का सबसे अच्छा तरीका क्या है?
- 14. संस्करण को मेरे SQL सर्वर संग्रहीत प्रक्रियाओं को नियंत्रित करने का सबसे अच्छा तरीका क्या है?
- 15. एक बीन शुरू करने का सबसे अच्छा तरीका क्या है?
- 16. SQL सर्वर सीई 4
- 17. RedirectToAction का परीक्षण करने का सबसे अच्छा तरीका क्या है?
- 18. सेलेनियम में पुनर्निर्देशन करने का सबसे अच्छा तरीका क्या है?
- 19. क्लोजर में जीयूआई करने का सबसे अच्छा तरीका क्या है?
- 20. एक्सएमएल डेटा को SQL सर्वर में सहेजने का सबसे अच्छा तरीका क्या है?
- 21. फ्लोट पार्स करने का सबसे अच्छा तरीका?
- 22. लाइव उत्पादन सर्वर में MySQL का निदान और प्रोफ़ाइल करने का सबसे अच्छा तरीका क्या है?
- 23. सर्वर-साइड डेटाबेस से आईफोन में एक-तरफा सिंकिंग करने का सबसे अच्छा तरीका क्या है?
- 24. डेटा कैश करने का सबसे अच्छा तरीका
- 25. एसक्यूएल सर्वर में डबल का प्रतिनिधित्व करता है क्या?
- 26. SQL सर्वर पर पेजिनेशन करने का सबसे अच्छा तरीका कौन सा है?
- 27. एक जटिल NSCompoundPredicate बनाने का सबसे अच्छा तरीका क्या है?
- 28. सीएसएस में 100% के 1/3 का प्रतिनिधित्व करने का सबसे अच्छा तरीका?
- 29. सर्वर-साइड इवेंट्स को ट्रिगर करने का सबसे अच्छा तरीका
- 30. स्पैस बूलियन मैट्रिस का प्रतिनिधित्व करने और गुणा करने का सबसे तेज़ तरीका क्या है?
है यही कारण है कि मैं इस परियोजना मैं पर काम कर रहा हूँ पर वास्तव में क्या कर रहा हूँ। ओआरएम लेयर तब रूपांतरण करता है जैसे आपने टाइमस्पेन और टिक्स के बीच, त्रुटि के लिए कोई कमरा नहीं दिया है। इसके अलावा, एक साइड बोनस यह है कि आपको वह सटीकता मिल गई है जिसकी आपको शायद आवश्यकता होगी। यदि आप मिनटों के साथ रहते हैं, तो आपको एक वास्तविक समस्या मिली है यदि आप विपणन विभाग कहते हैं, "परिशुद्धता को सेकंड तक कितना मुश्किल होगा?" –
अच्छा, यद्यपि एक टिक वास्तव में 100 नैनोसेकंड लेने की गारंटी है? – SepehrM
ढांचे के दस्तावेज में किसी भी विग्लू रूम का उल्लेख नहीं है: https://msdn.microsoft.com/en-us/library/system.datetime.ticks(v=vs.110).aspx –