[Résolu] Date du jour

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
makyo
Fraîchement OOthentifié
Messages : 8
Inscription : 07 nov. 2006 16:34

[Résolu] Date du jour

Message 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
version 2.1 - WinXp Pro
audionuma
Membre hOOnoraire
Membre hOOnoraire
Messages : 132
Inscription : 26 mai 2006 09:24

Message par audionuma »

Bonjour,
pour une base intégrée,

Code : Tout sélectionner

SELECT * FROM "MaTable" WHERE "champ_date" = CURRENT_DATE
devrait marcher.
Mac OS X.5.8 / PPC G5 / LibreOffice 3.3.1
makyo
Fraîchement OOthentifié
Messages : 8
Inscription : 07 nov. 2006 16:34

Message 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
version 2.1 - WinXp Pro
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25143
Inscription : 03 mars 2006 08:45
Localisation : 127.0.0.1
Contact :

Message 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:
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
makyo
Fraîchement OOthentifié
Messages : 8
Inscription : 07 nov. 2006 16:34

Message 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 !
version 2.1 - WinXp Pro
audionuma
Membre hOOnoraire
Membre hOOnoraire
Messages : 132
Inscription : 26 mai 2006 09:24

Message 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' ?
Mac OS X.5.8 / PPC G5 / LibreOffice 3.3.1
Dr. NOOo
Membre hOOnoraire
Membre hOOnoraire
Messages : 129
Inscription : 08 sept. 2006 16:03

Message 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é.
OOo 3.1.0 Linux Ubuntu 9.10

Je n'ai pas besoin de drogue car mes rêves me font déjà assez peur.
makyo
Fraîchement OOthentifié
Messages : 8
Inscription : 07 nov. 2006 16:34

Message 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:
version 2.1 - WinXp Pro
Verrouillé