"Richard Hipp" wrote...

On Tue, Sep 2, 2014 at 3:48 PM, jose isaias cabrera <jic...@cinops.xerox.com
wrote:


Greetings!

I know that SQLite dates are of the form YYYY-MM-DD and I like that. :-)
I want to find out why these are working.


SQLite does not have a special "date" type.  SQLite stores dates as either
strings, or integers, or floating point numbers.  In your case it is
storing and comparing them as strings.



create table t (a date, val integer);


If you instead said:

    create table t(a TEXT, val integer);

Would you then understand how it works? If so, then my explanation is that
it works *exactly* the same why when you substitute "date" for "text" in
the table declaration.

Thanks.




insert into t values ('2010-01-01', 10);
insert into t values ('2010-1-1', 10);
insert into t values ('2010-1-01', 10);
insert into t values ('2010-02-01', 10);
insert into t values ('2010-2-01', 10);

select sum(val) from t where a BETWEEN '2010-01-01' AND '2010-01-31';
select sum(val) from t where a BETWEEN '2010-01-01' AND '2010-02-01';
select sum(val) from t where a BETWEEN '2010-01-01' AND '2010-12-31';

sqlite> select sum(val) from t where a BETWEEN '2010-01-01' AND
'2010-01-31';
10
sqlite> select sum(val) from t where a BETWEEN '2010-01-01' AND
'2010-02-01';
20
sqlite> select sum(val) from t where a BETWEEN '2010-01-01' AND
'2010-12-31';
40

Thoughts?  Thanks.

josé
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users




--
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to