Many thanks! Problem solved with numeric form matching the expected
result:
SELECT * FROM thing WHERE date > DATETIME(2008,06,08,22,17,45) AND
date < DATETIME(2008,06,08,22,17,46)
SELECT * FROM thing WHERE date > DATETIME(2008,11,20,22,17,45)

It's just that datetime string representations return error:
SELECT * FROM thing WHERE date > DATETIME('2008-06-08 22:17.45')
« An error has occurred while executing this query.

SELECT * FROM thing WHERE date > DATETIME('2008-06-08 22:17.45') AND
date < DATETIME('2008-06-08 22:17.46')
« An error has occurred while executing this query.

Niklas

On Nov 20, 10:42 pm, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> Hi Niklas,
>
> As stated above, you can not use the string literal to query, you must
> include a DATETIME() wrapper around that argument.  Additionally, since
> milliseconds are not included, you would need to query something like this
> to find a specific entity that accorded at 2008-06-08 22:17.45.xxxx:
>
> SELECT * FROM thing WHERE date > DATETIME(\'2008-06-08 22:17.45\') AND date
> < DATETIME(\'2008-06-08 22:17.46\')
>
> -Marzia
>
> On Thu, Nov 20, 2008 at 1:09 PM, niklasr <[EMAIL PROTECTED]> wrote:
>
> > Thank you for replying, though it's still not matching from here.
> > I've this is the datastore
> > added YYYY-MM-DD HH:MM:SS
> >    value: 2008-06-08 22:17:45.200477
> >    type: gd:when
>
> > Still the following won't match
> > SELECT * FROM thing WHERE added = '2008-06-08 22:17:45'
>
> > It should be trivial, but how?
>
> > regards
> > Niklas
>
> > On Nov 20, 7:56 pm, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> > > Hi,
>
> > > In order to query on DateTime objects, the following methods are
> > supported
> > > (fromhttp://code.google.com/appengine/docs/datastore/gqlreference.html):
>
> > > A datetime, date, or time literal, with either numeric values or a string
> > > representation, in the following forms:
> > > * DATETIME(year, month, day, hour, minute, second)
> > > * DATETIME('YYYY-MM-DD HH:MM:SS') [no milliseconds]
> > > * DATE(year, month, day)
> > > * DATE('YYYY-MM-DD')
> > > * TIME(hour, minute, second)
> > > * TIME('HH:MM:SS')
>
> > > -Marzia
>
> > > On Wed, Nov 19, 2008 at 7:03 PM, niklasr <[EMAIL PROTECTED]> wrote:
>
> > > > SELECT * FROM thing WHERE added =  '2008-06-08 22:17:45.200477 '
> > > > won't match
> > > > Neither
> > > > SELECT * FROM thing WHERE added <  '2008-07-08 22:17:45.200477 ' and
> > > > added >  '2008-06-08 22:17:45.200477 '
> > > > And
> > > > SELECT * FROM Ad WHERE added <  '2006-11-18 22:17:45.200477 '
> > > > surprisingly matches many entities.
>
> > > > How match a day or a month interval, or an exact timepoint?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to