Pregunta

¿Cómo voy a escribir una consulta SQLite para seleccionar todos los registros de un mes específico? Mis fechas se almacenan como marcas de tiempo Unix .

código PHP está permitido en su solución, si se requiere. consultas compatibles con SQLite2 solamente, por favor. :)

¿Fue útil?

Solución

Si desea una consulta eficiente, entonces debería usar ENTRE:

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

Cuando start y end son las marcas de tiempo UNIX para el inicio del mes y al final del mes. Estos pueden calcularse de PHP usando mktime y enviado como parámetros.

Otros consejos

Uso:

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

Reemplazar el YYYY-MM-DD con las fechas que usted desea. Ver la página de referencia para otros formatos compatibles.

Referencia:

Sin calcular último día en el mes

SELECT * 
  FROM table 
 WHERE strftime('%Y-%m',date(unix_timestamp,'unixepoch','localtime')) = '2010-03'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top