আজকের তারিখ বিয়োগ দুই মাসের জন্য এসকিউএল কোয়েরি


141

আমি একটি টেবিলে সমস্ত রেকর্ড নির্বাচন করতে চাই যেখানে তাদের প্রবেশের তারিখটি 2 মাসের বেশি হবে।

কোন ধারণা আমি কীভাবে এটি করতে পারি?

আমি এখনও কিছু চেষ্টা করি নি তবে আমি এই বিষয়টিতে আছি:

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

উত্তর:


286

আপনি যদি এসকিউএল সার্ভার ব্যবহার করেন তবে এটি ব্যবহার করে দেখুন:

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

আপনার আপডেটের ভিত্তিতে এটি হবে:

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

25
আপনি মাইএসকিউএল ব্যবহার করলে এটি হয়ে যাবে:MyDate < DATE_ADD(NOW(), INTERVAL -2 MONTH)
স্টেফান


3

আপনার জন্য এই কাজ কিছু চাই?

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

3
এটি মাইএসকিউএলের জন্য একটি সমাধান এবং তিনি এসকিউএল সার্ভারের জন্য একটি সমাধান চেয়েছিলেন। এটি এসকিউএল সার্ভারে কাজ করে না।
গ্যান্ডার

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

টিএসকিউএল, ভেরিয়েবল ডিক্লেয়ারেশন ব্যবহার করে বিকল্প। (এটি কোয়েরির পাঠযোগ্যতার উন্নতি করতে পারে)

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

SELECT 
        *
    FROM 
        FB as A
    WHERE
        A.Dte <= @gapPeriod;                               --only older records.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.