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. :)

È stato utile?

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
scroll top