आज की तारीख माइनस दो महीने के लिए SQL क्वेरी


141

मैं एक तालिका में सभी अभिलेखों का चयन करना चाहता हूं जहां उनकी प्रविष्टि की तारीख पुरानी है और फिर 2 महीने।

किसी भी विचार मैं ऐसा कैसे कर सकते हैं?

मैंने अभी तक कुछ भी करने की कोशिश नहीं की है लेकिन मैं इस बिंदु पर हूं:

SELECT COUNT(1) FROM FB WHERE Dte > GETDATE()

जवाबों:


286

यदि आप SQL सर्वर का उपयोग कर रहे हैं, तो यह कोशिश करें:

SELECT * FROM MyTable
WHERE MyDate < DATEADD(month, -2, GETDATE())

आपके अपडेट के आधार पर यह होगा:

SELECT * FROM FB WHERE Dte <  DATEADD(month, -2, GETDATE())

25
यदि आप MySQL का उपयोग करते हैं तो यह बन जाएगा:MyDate < DATE_ADD(NOW(), INTERVAL -2 MONTH)
स्टीफन


3

क्या आपके लिए यह काम पसंद आएगा?

SELECT * FROM FB WHERE Dte >= DATE(NOW() - INTERVAL 2 MONTH);

3
यह MySQL के लिए एक समाधान है और उन्होंने SQL सर्वर के लिए एक समाधान के लिए कहा। यह SQL सर्वर पर काम नहीं करता है।
गैंडर

0
SELECT COUNT(1)
FROM FB
WHERE
    Dte BETWEEN CAST(YEAR(GETDATE()) AS VARCHAR(4)) + '-' + CAST(MONTH(DATEADD(month, -1, GETDATE())) AS VARCHAR(2)) + '-20 00:00:00'
        AND CAST(YEAR(GETDATE()) AS VARCHAR(4)) + '-' + CAST(MONTH(GETDATE()) AS VARCHAR(2)) + '-20 00:00:00'

0

TSQL, वैरिएबल घोषणा का उपयोग कर वैकल्पिक। (यह क्वेरी की पठनीयता में सुधार कर सकता है)

DECLARE @gapPeriod DATETIME = DATEADD(MONTH,-2,GETDATE()); --Period:Last 2 months.

SELECT 
        *
    FROM 
        FB as A
    WHERE
        A.Dte <= @gapPeriod;                               --only older records.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.