Page 1 sur 1

[Résolu] Date du jour

Publié : 07 nov. 2006 15:45
par makyo
Bonjour,

Je suppose que la question interresse beaucoup de monde :

Comment on obtient la date du jour pour faire une requête sur un champ date ?

La solution que j'ai adopté pour le moment est de demander à l'utilisateur d'introduire la date comme ceci :
:dateDuJour_AAAAMMJJ

J'ai vu que les fonctions YEAR,... n'étaient pas encore implémentées.
Peut être avez vous une autre idée que ma solution ?

merci,
maKyo

Publié : 07 nov. 2006 17:03
par audionuma
Bonjour,
pour une base intégrée,

Code : Tout sélectionner

SELECT * FROM "MaTable" WHERE "champ_date" = CURRENT_DATE
devrait marcher.

Publié : 08 nov. 2006 11:21
par makyo
Merci pour ta réponse, ça m'a donné une idée ! :idea:

J'ai constaté une chose interressante :

En fait j'utilise un lien ODBC vers une table qui se trouve sur ISeries (AS400).

Via le menu général > Outils > SQL
J'effectue la requête suivante :

Code : Tout sélectionner

select * from matable
WHERE monchampdate >  CURRENT DATE
En statut il met :
[IBM][iSeries Access ODBC Driver][DB2 UDB]SQL0401 - Comparison operator > operands not compatible.

Je change ma requête :

Code : Tout sélectionner

select * from matable
WHERE monchampdate >  YEAR(CURRENT DATE)*10000+MONTH(CURRENT DATE)*100+DAY(CURRENT DATE)
Le statut m'indique :
Commande exécutée avec succès


Là je me dis "chouette" ça fonctionne ! 8) .... hey bien non ... :roll:
Je fais "nouvelle requête en mode SQL", je test et il me répond gentillement "Syntax error in SQL expression"

Comme d'habitude les options ne m'éclaire pas plus :

Statut SQL: HY000
Code d'erreur: 1000

syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE

Je suppose donc que le moteur dérrière n'est pas le même, puisque d'un côté il me dis OK et de l'autre KO ! :(

Mais en somme, ça ne m'avance pas plus

Publié : 08 nov. 2006 11:51
par Dude
makyo a écrit :J'ai constaté une chose interressante :

En fait j'utilise un lien ODBC vers une table qui se trouve sur ISeries (AS400).
Moi je constate que tu aurais dû donner cette info essentielle au départ de ta question.

C'est sûr que si on te donne une syntaxe SQL pour le format HSQLDB, cela ne risque pas de fonctionner sur DB2.

:evil:

Publié : 08 nov. 2006 12:20
par makyo
Oui c'est vrai ! :oops:

Je pensais en fait que Base avait sa propre syntaxe puisqu'il n'accepte pas mes requêtes que je fais habituellement sur les tables, donc que ça n'avait pas d'importance.

sorry !

Publié : 08 nov. 2006 16:08
par audionuma
Je fais "nouvelle requête en mode SQL", je test et il me répond gentillement "Syntax error in SQL expression"

Comme d'habitude les options ne m'éclaire pas plus :

Statut SQL: HY000
Code d'erreur: 1000

syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE
est-ce que tu as essayé en mode sql direct, c'est à dire lorsque tu es en mode "requête en mode sql", activer la petite icône 'sql' ?

Publié : 08 nov. 2006 16:27
par Dr. NOOo
Il y a peut être un problème sur le pilote odbc pour DB2 qui ne tolère pas la syntaxe tapé.

Publié : 09 nov. 2006 07:59
par makyo
audionuma a écrit : est-ce que tu as essayé en mode sql direct, c'est à dire lorsque tu es en mode "requête en mode sql", activer la petite icône 'sql' ?
Non ! :oops: J'ai oublié. Un grand merci c'est ok ! ma requête passe et s'exécute !! :D

génial ! :super: