2012-03-21 19 views
5
select getdate(),DATEADD(millisecond,1,getdate()) 

मुझे वही उत्तर देता है .... वास्तव में 1 मिलीसेकंड कैसे जोड़ें?मैं वास्तव में 1 मिलीसेकंड कैसे जोड़ सकता हूं?

मैं datetime2 फ़ील्ड का उपयोग नहीं कर सकता।

+0

संभव डुप्लिकेट [tsql INSERT INTO में डेटाटाइम में मिलीसेकंड जोड़ना] (http://stackoverflow.com/questions/2625178/adding-miliseconds-to-a-datetime-in-tsql-insert-into) – tvanfosson

+0

देखें http://stackoverflow.com/questions/3380109/precision-of-sql-getdate – tvanfosson

उत्तर

9

की वेतन वृद्धि यदि आप इतना सटीकता की जरूरत अलग से मिलीसेकेंड संग्रहीत करना होगा करने के लिए गोल। SQL सर्वर 2005 में कोई मूल दिनांक/समय प्रकार नहीं है जो आपको ~ 3 एमएस से अधिक सटीक होने की अनुमति देगा। यही कारण है कि, उदाहरण के लिए, आखिरी बार जब आप एक दिन में हो सकते हैं 23: 59: 59.9 7 9, 998 या 999 नहीं है।

0

मुझे लगता है कि आप नहीं कर सकते, क्योंकि DateTime रों चल बिन्दु संख्या के रूप में आंतरिक रूप से प्रतिनिधित्व कर रहे हैं और 1 मिलीसेकंड एक float के रूप में प्रतिनिधित्व नहीं किया जा सकता।

विवरण के लिए कृपया to this question के उत्तर देखें।

+0

वास्तव में आप बिल्कुल दिए गए कारण के लिए नहीं कर सकते हैं। SQL सर्वर 'डेटाटाइम' को 2 पूर्णांक के रूप में संग्रहीत करता है, एक दिनांक के लिए और एक समय के लिए। समय को 'टिक' के रूप में संग्रहीत किया जाता है जिसमें प्रत्येक टिक एक सेकंड के '1/300' होती है, इसलिए यह 'फ्लोट' के साथ कुछ भी करने के बजाय आंतरिक प्रतिनिधित्व के साथ ही करना है –

6

आप नहीं कर सकते। datetime की शुद्धता 3.33 मिलीसेकंड है।

Date and Time

1

DATETIME प्रकार के संकल्प को अपनी आवश्यकताओं के लिए अपर्याप्त है; the documentation प्रति, यह है:

.000, .003, या .007 सेकंड

संबंधित मुद्दे