PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WEBDEV 2024 → SQL : Tester une date
SQL : Tester une date
Started by Bertrand, May, 12 2004 5:03 PM - 4 replies
Posted on May, 12 2004 - 5:03 PM
Bonjour,

Je voudrais afficher mes enregistrement sur l'ensemble d'une année.
J'ai une rubrique de type date(je travail sur une base Oracle via les accès
Natif)
Mais je n'arrive pas à tester l'année,
J'ai essayé :
MaDate LIKE %{MonAnnee}%
SIBSTR(MaDate, 1, 4) = {MonAnnee}

ça ne marche pas,
Je ne peux pas tester :
TO_CHAR(MaDate, 'DD/MM/YYYY') like %{MonAnnee}%
ça marche sur Oracle, mais pas en hyperFile.

De plus je ne peux pas utilise le mode hRequeteSansCorrection car si mes
paramètres sont NULL, j'ai l'erreur Oracle : "Expression absente"

Quelqu'un a t-il une solution?
Posted on May, 12 2004 - 5:34 PM
salut,

As tu tenté tout simplement l'éditeur de requêtes de WebDev?
autrement, si tu as l'accès natif, tu dois aussi pouvoir utiliser les
fonctions comme HFiltre()....

@ suivre

Guillaume

"Bertrand" <bertrand.will@lisi-automotive.com> a écrit dans le message de
news:40a221ec@news.pcsoft.fr...


Bonjour,

Je voudrais afficher mes enregistrement sur l'ensemble d'une année.
J'ai une rubrique de type date(je travail sur une base Oracle via les

accès
Natif)
Mais je n'arrive pas à tester l'année,
J'ai essayé :
MaDate LIKE %{MonAnnee}%
SIBSTR(MaDate, 1, 4) = {MonAnnee}

ça ne marche pas,
Je ne peux pas tester :
TO_CHAR(MaDate, 'DD/MM/YYYY') like %{MonAnnee}%
ça marche sur Oracle, mais pas en hyperFile.

De plus je ne peux pas utilise le mode hRequeteSansCorrection car si mes
paramètres sont NULL, j'ai l'erreur Oracle : "Expression absente"

Quelqu'un a t-il une solution?
Posted on May, 12 2004 - 6:31 PM
Bertrand wrote:
Bonjour,

Je voudrais afficher mes enregistrement sur l'ensemble d'une année.
J'ai une rubrique de type date(je travail sur une base Oracle via les
accès Natif)
Mais je n'arrive pas à tester l'année,
J'ai essayé :
MaDate LIKE %{MonAnnee}%
SIBSTR(MaDate, 1, 4) = {MonAnnee}

ça ne marche pas,
Je ne peux pas tester :
TO_CHAR(MaDate, 'DD/MM/YYYY') like %{MonAnnee}%
ça marche sur Oracle, mais pas en hyperFile.


si tu travailles avec SQLEXEC, tu pourras executer tout code sql 100 %
compatible Oracle et donc utiliser les TO_CHAR par ex
TO_CHAR(MaDate,'YYYY')='"+MonAnnee+"'"

C'est meme carrément à recommander !


De plus je ne peux pas utilise le mode hRequeteSansCorrection car si
mes paramètres sont NULL, j'ai l'erreur Oracle : "Expression absente"

Quelqu'un a t-il une solution?


--
Eric
Posted on May, 12 2004 - 7:14 PM
Merci pour l'aide,

En faite ma requête sert a alimenté un etat, et je préférais éviter de le
remplir par programmation car j'avais beaucoup de rubrique, je n'ai donc
pas obté pour un SQLEXEC.
De plus, il me semble que cette fonction utilise un pont ODBC.

En fait j'ai utilisé un BETWEEN et ça marche, je teste ma date entre le 1er
janvier et le 31 decembre de l'année selectionné par l'utilisateur.

Mais finalement je sais pas si au fond mon opération m'a fait gagné du temps!


"Roumegou" <roumegou@wanadoo.fr> wrote:

Bertrand wrote:
Bonjour,

Je voudrais afficher mes enregistrement sur l'ensemble d'une année.
J'ai une rubrique de type date(je travail sur une base Oracle via les
accès Natif)
Mais je n'arrive pas à tester l'année,
J'ai essayé :
MaDate LIKE %{MonAnnee}%
SIBSTR(MaDate, 1, 4) = {MonAnnee}

ça ne marche pas,
Je ne peux pas tester :
TO_CHAR(MaDate, 'DD/MM/YYYY') like %{MonAnnee}%
ça marche sur Oracle, mais pas en hyperFile.

si tu travailles avec SQLEXEC, tu pourras executer tout code sql 100 %
compatible Oracle et donc utiliser les TO_CHAR par ex
TO_CHAR(MaDate,'YYYY')='"+MonAnnee+"'"

C'est meme carrément à recommander !


De plus je ne peux pas utilise le mode hRequeteSansCorrection car si
mes paramètres sont NULL, j'ai l'erreur Oracle : "Expression absente"

Quelqu'un a t-il une solution?

--
Eric

Posted on May, 12 2004 - 7:22 PM
sur une base oracle 7.3 avec accès natif , je fais comme sur un fichier HF
sans pb

Faire transformation date de ta base oracle avec dateversentier()
exmple : SI dateversentier(tadate) >= dateversentier("20040101") -> tri après
1er janvier 2004 .

tu peux faire plus direct avec Hfiltre
hfiltre("fichier","date",d1,d2) avec d1="20040101" et d2="20043112" par exemple

quant aux requetes , sauf pour les update , j'utilise l'éditeur windev ,
c'est encore plus simple .

bonne suite..

"Bertrand" <bertrand.will@lisi-automotive.com> wrote:


Bonjour,

Je voudrais afficher mes enregistrement sur l'ensemble d'une année.
J'ai une rubrique de type date(je travail sur une base Oracle via les accès
Natif)
Mais je n'arrive pas à tester l'année,
J'ai essayé :
MaDate LIKE %{MonAnnee}%
SIBSTR(MaDate, 1, 4) = {MonAnnee}

ça ne marche pas,
Je ne peux pas tester :
TO_CHAR(MaDate, 'DD/MM/YYYY') like %{MonAnnee}%
ça marche sur Oracle, mais pas en hyperFile.

De plus je ne peux pas utilise le mode hRequeteSansCorrection car si mes
paramètres sont NULL, j'ai l'erreur Oracle : "Expression absente"

Quelqu'un a t-il une solution?