Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

टी-एसक्यूएल:गोल से निकटतम 15 मिनट के अंतराल तक

मैं वर्तमान में इसके लिए शून्य (0) तिथि के साथ डेटैड/डेटिडिफ संस्करण का उपयोग कर रहा हूं। कोई कास्टिंग आवश्यक नहीं:

select dateadd(minute, datediff(minute,0,GETDATE()) / 15 * 15, 0)

GETDATE() आपका डेटाटाइम जो भी हो।

अतिप्रवाह के कारण डेटीफ के विफल होने से पहले यह कम से कम वर्ष 5500 तक की तारीखों के लिए काम करेगा। हालाँकि यदि आप दूसरी सटीकता का उपयोग करने का प्रयास करते हैं, तो उपरोक्त तुरंत विफल हो जाएगा।

किसी अन्य निश्चित तिथि का उपयोग करना, जैसे '2009-01-01', या आज की तारीख (चेतावनी, अधिक बदसूरत SQL) इसे ठीक कर देगी। भविष्य की तारीख भी काम करेगी। जब तक इसका समय 00:00:00 है तब तक आप इस पर एक और डेटाटाइम आधारित कर सकते हैं।

उदाहरण के लिए:निकटतम 30 सेकंड के लिए गोल:

select dateadd(second, round(datediff(second, '2010-01-01', GETDATE()) / 30.0, 0) * 30, '2010-01-01');


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. चयनित परिणामों को सम्मिलित स्क्रिप्ट में परिवर्तित करना - SQL सर्वर

  2. Sql सर्वर कॉम्पैक्ट संस्करण में LIKE के साथ पैरामीटर का उपयोग कैसे करें

  3. दिनांक और नल के अनुसार SQL सर्वर ऑर्डर अंतिम

  4. मैं निरंतर श्रेणियों पर समूह कैसे बनाऊं

  5. SQL सर्वर में OBJECTPROPERTY () बनाम OBJECTPROPERTYEX ():क्या अंतर है?