2013-03-07 4 views
7

मैंने एमएस एसक्यूएल में डेटाटाइम डेटाटाइप से मिलीसेकंड को हटाने के तरीके पर प्रश्नों में पोस्ट देखी हैं।समय डेटाटाइप से मिलीसेकंड निकालें और यह भी: क्या एक मिलीसेकंड-कम समय डेटाटाइप है?

लेकिन डेटाटाइप के समय के बारे में क्या - डेटाटाइप के समय से मिलीसेकंड को हटाने का सबसे आसान तरीका क्या है?

इसके अलावा: क्या एमएस एसक्यूएल (2008) में डेटाटाइप में कोई समय है जिसमें मिलीसेकंड शामिल नहीं है?

धन्यवाद सब!

उत्तर

14

मिलीसेकेंड दूर करने के लिए सबसे आसान तरीका से एक है:

SELECT CONVERT(VARCHAR, GETDATE(), 20) 

और मिलीसेकेंड शामिल करना चाहते हैं यदि आप नहीं:

TIME(0) will help 

उदाहरण

CAST(DATEADD(second, SUM(hora), '00:00:00') AS time(0)) 
+0

यह बहुत आसान हो गया। सुरुचिपूर्ण और प्रभावी। –

+0

यह वास्तव में प्रभावी है। अन्य समाधान जो मैंने पाया है, यह अभी भी पिछले 3 अंकों को 000 के रूप में दिखाता है। –

0

क्या मैं एमएस एसक्यूएल सर्वर 2005 के लिए इस को हल करने के लिए किया था

create table mytable (Date varchar(11)) 

insert into mydb.mytable select GETDATE() as Date; 

यह GETDATE से मूल्य के कुछ कटौती है() बंद, सही साल हिस्से में पिछले संख्या के बाद। यानी 'जनवरी 09 2014'।

संपादित करें: स्पष्ट होने के लिए, वर्चर (11) यहां समाधान है।

संपादित करें: यदि आपको mysql CURDATE() पर शामिल होना है, तो यह समाधान बेकार है, क्योंकि MySQL सभी पूर्णांक देता है जबकि MSSQL सर्वर में वर्णमाला महीने होता है।

0

यदि आप बस एसक्यूएल सर्वर 2005 में समय वापस करना चाहते हैं तो आप कनवर्ट करने के साथ एक सबस्ट्रिंग फ़ंक्शन का उपयोग कर सकते हैं यानी चयन सब्सक्राइबिंग (कनवर्टर, गेटडेट(), 20), 12,8)। यह प्रारूप में समय वापस करेगा एचएच: मिमी: एसएस।

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