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

SQL Server 2008 में दिनांक और समय के बीच खोजें

आपको SQL सर्वर में उपलब्ध दिनांक समय स्वरूपों को देखना चाहिए:http:// msdn.microsoft.com/en-us/library/ms187928.aspx

yyyy-mm-dd hh:mi आपको क्या उपयोग करना चाहिए:

कोशिश करें:

SELECT
    *
    FROM Records
    WHERE DateCreated>='2007-02-30 10:32' AND DateCreated<='2008-06-21 14:19'

उपरोक्त क्वेरी में स्ट्रिंग्स को डेटाटाइम डेटा प्रकार में बदल दिया जाएगा यदि DateCreated एक डेटाटाइम कॉलम है। और क्वेरी काम करेगी।

आप डेटाटाइम डेटा प्रकार के स्थानीय चर बना सकते हैं और एक क्वेरी का उपयोग कर सकते हैं जैसे:

DECLARE @StartDate datetime, @EndDate datetime

SELECT @StartDate='2007-02-30 10:32', @EndDate='2008-06-21 14:19'

SELECT
    *
    FROM Records
    WHERE DateCreated>[email protected] AND DateCreated<[email protected]

मुझे <, <=,>=, या> का उपयोग करना पसंद है क्योंकि यह BETWEEN की तुलना में अधिक लचीलेपन की अनुमति देता है और आपको समापन बिंदुओं को शामिल करने या न करने के बारे में सोचने के लिए मजबूर करता है।

एक और बात पर विचार करना है कि पूरे दिन का सारा डेटा प्राप्त करना:

DECLARE @StartDate datetime, @EndDate datetime

--set the days you want
SELECT @StartDate='2007-02-30 10:32', @EndDate='2008-06-21 14:19'

--remove the time
SELECT @StartDate=DATEADD(day,DATEDIFF(day,0,@StartDate),0), @EndDate=DATEADD(day,DATEDIFF(day,0,@EndDate),0)

--get everything on '2007-02-30' up to the end of the day on '2008-06-21'
SELECT
    *
    FROM Records
    WHERE DateCreated>[email protected] AND DateCreated<@EndDate+1


  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 सर्वर डेटाबेस छँटाई बदलना

  3. मैं मैन्युअल रूप से पहचान कैसे सम्मिलित कर सकता हूं?

  4. क्वेरी का उपयोग करके SQL सर्वर में तालिका कैसे बनाएं

  5. SQL सर्वर (T-SQL) में सभी नए लॉगिन के लिए डिफ़ॉल्ट भाषा कैसे सेट करें