[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.

[Résolu] Date du jour

Messagepar makyo » 07 Nov 2006 16:45

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
makyo
Fraîchement OOthentifié
 
Message(s) : 8
Inscrit le : 07 Nov 2006 16:34

Messagepar audionuma » 07 Nov 2006 18:03

Bonjour,
pour une base intégrée,
Code : Tout sélectionner   AgrandirRéduire
SELECT * FROM "MaTable" WHERE "champ_date" = CURRENT_DATE

devrait marcher.
Mac OS X.5.8 / PPC G5 / LibreOffice 3.3.1
audionuma
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 132
Inscrit le : 26 Mai 2006 08:24

Messagepar makyo » 08 Nov 2006 12:21

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   AgrandirRéduire
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   AgrandirRéduire
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
makyo
Fraîchement OOthentifié
 
Message(s) : 8
Inscrit le : 07 Nov 2006 16:34

Messagepar Dude » 08 Nov 2006 12:51

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:
AOO 4.1.7 sous Windows 7 Pro x64

Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21118
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Messagepar makyo » 08 Nov 2006 13:20

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
makyo
Fraîchement OOthentifié
 
Message(s) : 8
Inscrit le : 07 Nov 2006 16:34

Messagepar audionuma » 08 Nov 2006 17:08

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
audionuma
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 132
Inscrit le : 26 Mai 2006 08:24

Messagepar Dr. NOOo » 08 Nov 2006 17:27

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.
Avatar de l’utilisateur
Dr. NOOo
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 129
Inscrit le : 08 Sep 2006 15:03

Messagepar makyo » 09 Nov 2006 08:59

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
makyo
Fraîchement OOthentifié
 
Message(s) : 8
Inscrit le : 07 Nov 2006 16:34


Retour vers Base de données

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 4 invité(s)