En mi SQLite DB tengo una fecha de created_date como marcas de tiempo de milisegundos, por ejemplo, 1646384581034 .
Entonces, si hay valores en este formato 2022-03-03 00:00:00 o 2022-03-03T00:00:00 , ¿cómo puedo obtener filas entre, por ejemplo, esta fecha y la fecha actual?
WHERE created_date BETWEEN strftime('%s', '2022-03-03 00:00:00') * 1000 AND Current_timstampEste es mi requisito, la sintaxis puede ser incorrecta.
Puede convertir una fecha y hora como 2022-03-03 00:00:00 o 2022-03-03T00:00:00 en una marca de tiempo de época de Unix como los valores en la columna created_date con la función strftime() .
Por ejemplo algo como:
WHERE created_date > strftime('%s', '2022-03-03 00:00:00') * 1000o:
WHERE created_date BETWEEN strftime('%s', '2022-03-03 00:00:00') * 1000 AND strftime('%s', 'now') * 1000 La columna created_date contiene milisegundos y es por eso que se necesita la multiplicación por 1000.
SI la fecha es una marca de tiempo, deberá hacer lo mismo (las siguientes dos fechas son ejemplos):
SELECT * FROM myDB WHERE created_date BETWEEN '2014-10-09 00:00:00' AND '2014-10-10 23:59:59'O puedes hacer, creo:
SELECT * FROM myDB WHERE DATE(created_date) BETWEEN '2014-10-09' AND '2014-10-10'O, ya que es un campo de texto:
SELECT * FROM myDB WHERE DATE_FORMAT(created_date,'%Y-%m-%d') BETWEEN '2014-10-09' AND '2014-10-10'