Comparer des dates (stockées sous forme de chaîne) dans android de base de données sqlite?

- Je stocker les dates que String dans ma base de données dans ce format:

YYYY-MM-DD HH:MM:SS

qui est l'un des formats pris en charge (http://www.sqlite.org/lang_datefunc.html). Maintenant, je veux comparer ces stockées dates (bien, cordes) avec un autre dates. Mes dates sont stockées dans la colonne column_date, donc j'essaye ceci:

SELECT  * FROM MyTable
WHERE 
(Date(column_date) >= Date (2000-01-01) AND Datetime(column_date) <= Datetime (2050-01-01))

Comme je l'ai lu la documentation, 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. donc, je suppose, je suis en train de faire - I date de création de chaîne stockée et de la comparer avec la date de création de l'autre des chaînes de caractères.

Mais ça ne fonctionne pas, même quand column_date est la date à partir de cette année, et comme u peut voir le début et dates de fin sont très bienveillants. Essayé aussi cette (utilisé datetime au lieu de la date):

SELECT  * FROM MyTable
    WHERE 
    (datetime(column_date) >= Date (2000-01-01) AND datetime(column_date) <= Datetime (2050-01-01))

et ce (utilisation entre à la place de <= et >=)

SELECT  * FROM MyTable
    WHERE 
    (Date(column_date) between Date (2000-01-01) AND Datetime (2050-01-01))

et toutes les autres combinaisons possibles. Ce que l'enfer je fais mal, je suis stupide, ou de la documentaion mensonges, ou j'ai raté quelque chose de très important? En essayant de trouver la solution de quelques heures, mais rien ne fonctionne...

OriginalL'auteur qkx | 2012-05-31