احصل على سجلات من شهر معين باستخدام SQLite
سؤال
كيف يمكنني كتابة استعلام SQLite لتحديد جميع السجلات من شهر معين؟ يتم تخزين تواريخاتي كما الطوابع الزمنية UNIX.
رمز PHP مسموح به في الحل الخاص بك إذا كان مطلوبًا. استعلامات متوافقة مع SQLite2 فقط ، من فضلك. قون
المحلول
إذا كنت تريد استعلامًا فعالًا ، فيجب عليك استخدامه بين:
SELECT *
FROM Table1
WHERE date BETWEEN $start AND $end
أين start
و end
هي الطابع الزمني UNIX لبداية الشهر ونهاية الشهر. يمكن حسابها في PHP باستخدام MKTIME وأرسلت كمعلمات.
نصائح أخرى
يستخدم:
SELECT *
FROM TABLE
WHERE DATETIME(your_unix_timestamp_col, 'unixepoch') BETWEEN YYYY-MM-DD
AND YYYY-MM-DD
استبدال YYYY-MM-DD
مع التواريخ التي تريدها. انظر الصفحة المرجعية لتنسيقات أخرى مدعومة.
المرجعي:
دون حساب اليوم الأخير في الشهر
SELECT *
FROM table
WHERE strftime('%Y-%m',date(unix_timestamp,'unixepoch','localtime')) = '2010-03'
لا تنتمي إلى StackOverflow