Ottenere record da una specifica mese con SQLite
Domanda
Come potrei scrivere una query SQLite per selezionare tutti i record da un mese specifico? Le date sono memorizzate come timestamp Unix .
codice PHP è consentito nella soluzione se è necessario. query compatibili sqlite2 solo, per favore. :)
Soluzione
Se si desidera una query efficiente allora si dovrebbe usare TRA:
SELECT *
FROM Table1
WHERE date BETWEEN $start AND $end
Dove start
e end
sono UNIX timestamp per l'inizio del mese e la fine del mese. Questi possono essere calcolate in PHP utilizzando mktime e inviato come parametri.
Altri suggerimenti
Usa:
SELECT *
FROM TABLE
WHERE DATETIME(your_unix_timestamp_col, 'unixepoch') BETWEEN YYYY-MM-DD
AND YYYY-MM-DD
Sostituire la YYYY-MM-DD
con le date che desiderate. Vedere la pagina di riferimento per gli altri formati supportati.
Riferimento:
Senza calcolare ultimo giorno nel mese
SELECT *
FROM table
WHERE strftime('%Y-%m',date(unix_timestamp,'unixepoch','localtime')) = '2010-03'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow