سؤال

كيف يمكنني كتابة استعلام 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'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top