PostgreSQL: entre avec datetime

J'utilise PostgreSQL 8.4.11 et trouver étrange erreur. Quand j'ai une requête:

SELECT "documents_document"."given_on" 
FROM "documents_document" 
WHERE (EXTRACT('month' FROM "documents_document"."given_on") = 1
       AND "documents_document"."given_on" 
       BETWEEN '1-01-01 00:00:00' and '1-12-31 23:59:59.999999') 
ORDER BY "documents_document"."created_on" DESC

J'obtiens des résultats:

  given_on  
------------
 2002-01-16
 2011-01-25
 2012-01-12
 2012-01-12
 2012-01-12
 2012-01-20
 2012-01-19
 2012-01-13
 2012-01-31
 2012-01-16
 2012-01-31
 2012-01-12
 ...

Pourquoi?

Je m'attends à des dates dans l'intervalle 1-01-01 ... 1-12-31.

OriginalL'auteur Denis SkS | 2012-09-14