PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → Connecteur natif Postgresql: comparaison Timestamp avec format date Windev
Connecteur natif Postgresql: comparaison Timestamp avec format date Windev
Iniciado por mizar, 26,oct. 2021 16:42 - 3 respuestas
Miembro registrado
64 mensajes
Popularité : +1 (1 vote)
Publicado el 26,octubre 2021 - 16:42
Bonjour,

J'ai une requête du genre SELECT * FROM MaTable WHERE DateBaseDonnees > {ParametreChampDateWindev}.
Ma base est basé sur le connecteur natif Postgresql.

DateBaseDonnees est un timestamp without timezone dans ma base de données.
Mon paramètre de requête est un champ calendrier Datepicker qui me renvoie une date Windev.

A chaque exécution j'ai une erreur me disant que j'essaie de comparer un TIMESTAMP WITHOUT TIMEZONE à un entier et que je dois effectuer une conversion explicite de type.
J'ai essayé sans succès plusiuers syntaxes.

Comment puis-je comparer le timestamp de ma base avec le paramètre date de ma requête?

D'avance merci à vous,
M
Publicado el 29,octubre 2021 - 11:57
PostgreSQL permet le CAST directement dans le SQL mais il n'est pas assumé par la couche PcSoft.

Du coup tu dois faire un HExécuteRequêteSQL.
Ta requête deviendra donc :

sqlText =[
SELECT MaTable .*
FROM "Mabase"."Monschema"."MaTable" AS MaTable
WHERE
MaTable."DateBaseDonnees"::DATE > '%1'
]

Avec %1 = ParametreChampDateWindev

SI HExécuteRequêteSQL(sdSource,ogSrdPostGresql_JOURNAL:m_NomConnexion,hRequêteSansCorrection,sqltext)=Vrai ALORS...
Miembro registrado
329 mensajes
Popularité : +28 (32 votes)
Publicado el 29,octubre 2021 - 15:03
Pour un timestamp, je serait toi, je regarderai du coté de : DateHeureVersEpoch

https://doc.pcsoft.fr/fr-fr/?1000023337&name=dateheureversepoch_fonction

--
———————————————————————————————————
Ce qui se conçoit bien se code clairement et se relit facilement...

- Pastiche d’une citation de Nicolas Boileau -
Miembro registrado
2.572 mensajes
Popularité : +222 (260 votes)
Publicado el 29,octubre 2021 - 16:43
Bonjour,

il faut stocker ta date dans une variable de type dateheure qui correspond à un timestamp et ensuite l'utiliser pour ta requête

--
Cordialement,

Philippe SAINT-BERTIN