Comparar datas (armazenadas como string) no banco de dados android sqlite?
Guardo datas comoString
no meu banco de dados, neste formato:
YYYY-MM-DD HH:MM:SS
que é um dos formatos suportados (http://www.sqlite.org/lang_datefunc.html). Agora quero comparar essas datas armazenadas (bem, strings) com outras datas. Minhas datas são armazenadas na colunacolumn_date
Então estou tentando isso:
SELECT * FROM MyTable
WHERE
(Date(column_date) >= Date (2000-01-01) AND Datetime(column_date) <= Datetime (2050-01-01))
Enquanto leio a documentação,The date and time functions use a subset of IS0-8601 date and time formats. The date() function returns the date in this format: YYYY-MM-DD.
então eu suponho, estou fazendo certo - eu crio data da string armazenada e a compara com a data criada a partir de outras strings.
Mas isso não funciona, mesmo quandocolumn_date
é data deste ano, e como vc pode ver as datas de início e término são muito benevolentes. Tentei também isso (usado datetime em vez de data):
SELECT * FROM MyTable
WHERE
(datetime(column_date) >= Date (2000-01-01) AND datetime(column_date) <= Datetime (2050-01-01))
e isso (use entre em vez de <= e> =)
SELECT * FROM MyTable
WHERE
(Date(column_date) between Date (2000-01-01) AND Datetime (2050-01-01))
e todas as outras combinações possíveis. O que diabos eu estou fazendo errado, eu sou estúpida, ou o documentaion mente, ou eu perdi algo muito importante? Tentando encontrar solução poucas horas, mas nada funciona ...