En soustrayant 1 jour à partir d'un timestamp de la date
Je suis en utilisant Datagrip pour Postgresql. J'ai une table avec un champ de date dans le format d'horodatage (ex: 2016-11-01 00:00:00)
. Je veux être en mesure de:
- appliquer un opérateur mathématique de soustraire 1 jour
- filtre basé sur une fenêtre de temps d'aujourd'hui-130 jours
- l'afficher sans le hh/mm/ss partie du timbre (2016-10-31)
De départ actuel requête:
select org_id, count(accounts) as count, ((date_at) - 1) as dateat
from sourcetable
where date_at <= now() - 130
group by org_id, dateat
La ((date_at)-1)
clause sur la ligne 1 résultats dans:
[42883] ERREUR: opérateur n'existe pas: timestamp sans fuseau horaire -
entier Astuce: Aucun opérateur correspond au nom donné et le type d'argument(s).
Vous pourriez avoir besoin d'ajouter de type explicite jette. Position: 69
La now()
clause génère un message similaire:
[42883] ERREUR: opérateur n'existe pas: le timestamp avec le temps, la zone
entier Astuce: Aucun opérateur correspond au nom donné et le type d'argument(s).
Vous pourriez avoir besoin d'ajouter de type explicite jette. Position: ...
En ligne des guides de type moulages sont singulièrement peu serviable. L'entrée est appréciée.
OriginalL'auteur J-Ko | 2017-09-06
Vous devez vous connecter pour publier un commentaire.
Utiliser le
INTERVAL
de texte. E. g:Ensuite, vous pouvez effectuer les opérations suivantes sur votre requête:
Supplémentaires tip1
Vous pouvez ajouter plusieurs opérandes. E. g.: comment obtenir le dernier jour du mois en cours?
Supplémentaires tip2
Vous pouvez également créer un intervalle à l'aide de
make_interval
fonction utile lorsque vous avez besoin de le créer au moment de l'exécution (et non à l'aide de littéraux):Plus d'infos ici et ici.
OriginalL'auteur Michel Milezzi