Obtener registros de un mes usando SQLite específica
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. :)
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