Question

Comment pourrais-je écrire une requête SQLite pour sélectionner tous les enregistrements d'un mois précis? Mes dates sont stockées sous forme de timestamp UNIX .

code PHP est autorisé dans votre solution si elle est nécessaire. requêtes SQLite2 compatibles uniquement, s'il vous plaît. :)

Était-ce utile?

La solution

Si vous souhaitez ensuite une requête efficace, vous devez utiliser ENTRE:

SELECT *
FROM Table1
WHERE date BETWEEN $start AND $end

start et end sont les unix pour le début horodatages du mois et la fin du mois. Ceux-ci peuvent être calculées en utilisant PHP mktime et envoyé en tant que paramètres.

Autres conseils

Utilisation:

SELECT *
  FROM TABLE 
 WHERE DATETIME(your_unix_timestamp_col, 'unixepoch') BETWEEN YYYY-MM-DD 
                                                          AND YYYY-MM-DD

Remplacez la YYYY-MM-DD les dates que vous désirez. Voir la page de référence pour d'autres formats pris en charge.

Référence:

Sans calcul jour dernier mois

SELECT * 
  FROM table 
 WHERE strftime('%Y-%m',date(unix_timestamp,'unixepoch','localtime')) = '2010-03'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top