Résolu: Format de colonne date-MYSQL

Une question, un bug ?
Répondre
jacqueshouben
Nouveau membre
Messages : 5
Inscription : jeu. oct. 15, 2009 9:55 am

Résolu: Format de colonne date-MYSQL

Message par jacqueshouben »

Bonjour,
Dans la base actuelle il y a 5 colonnes pour la date:an-mois-jour-heure-minute.
Comment définir Date/heure des enregistrements dans la fenêtre Options de plugin ODBC car ce n'est pas
- timestamp UNIX
-ni Champ date heure champ heure
ou
faut-il ajouter un champ ? Dans ce cas quel est le format préférable ?
Merci
J.Houben
Dernière modification par jacqueshouben le lun. oct. 19, 2009 8:47 pm, modifié 1 fois.
Avatar de l’utilisateur
jturlier
Membre
Messages : 3149
Inscription : mar. août 22, 2006 8:38 am
Localisation : 34410 Sérignan - Languedoc
Contact :

Re: Format de colonne date-MYSQL

Message par jturlier »

Bonjour Jacques,
jacqueshouben a écrit :Dans la base actuelle il y a 5 colonnes pour la date:an-mois-jour-heure-minute.
pourrais-tu être plus clair ?
Il va sans doute falloir regrouper ces champs pour que GW les voit comme un seul.
Pour pouvoir t'aider, il faut savoir quel moteur MSQL, MSSql, MySQL, PostgreSql ..., quelle est la structure de la table, le nom et le type des colonnes qui contiennent les dates.

Jean
jacqueshouben
Nouveau membre
Messages : 5
Inscription : jeu. oct. 15, 2009 9:55 am

Re: Format de colonne date-MYSQL

Message par jacqueshouben »

Bonjour,
Merci pour la réponse.
  • quel moteur MSQL, MSSql, MySQL, PostgreSql ..., quelle est la structure de la table, le nom et le type des colonnes qui contiennent les dates.
Le moteur est MYSQL.
Les colonnes: an-mois-jour-heure-minite sont de type int(11).
J'ai essayé, pour donner des valeur à date_tb de type datetime, d'exécuter :
update meteotb2009 set `date_tb`=`an` + '-'+ `mois` + '-' + `jour`+ ' '+ `heure`+':'+`minute`+':00' mais la mise-à-journe s'effectue pas de même en utilisant la sonction str_to_date.
Au plisir de lire la réponse
J.Houben
Avatar de l’utilisateur
jturlier
Membre
Messages : 3149
Inscription : mar. août 22, 2006 8:38 am
Localisation : 34410 Sérignan - Languedoc
Contact :

Re: Format de colonne date-MYSQL

Message par jturlier »

Bonsoir Jacques,
il va falloir transformer tes variables 2009 10 15 18 30 en un entier long de la forme 200910151830. GW sait traiter ce format soit en entier long soit en caractères.

une solution :

create view ma_vue_meteo ((((colonneannee*100000000)+(colonnemois*1000000)*(colonnejour*4)+(colonneheure*100)+colonneminute) as madateformatee , temperatueexterieure as ..... FROM matableoriginale

Il en existe d'autres, avec les fonctions de cast, mais alors il faut générer les zéro à gauche, tu peux aussi créer un timestamp sql mais ensuite il faut faire un extract(epoch) pour avoir de l'unix.

N'oublie pas que MySQL n'aime pas les caractères spéciaux (excepté les "_") et donc s'il y en a, les champs doivent être entre "`"

Une fois que la vue est créée, il suffit de la considérer comme une table qui alimentera directement GW.

En espérant que tu t"en sortiras avec ça

Jean
jacqueshouben
Nouveau membre
Messages : 5
Inscription : jeu. oct. 15, 2009 9:55 am

Re: Format de colonne date-MYSQL

Message par jacqueshouben »

Merci pour la réponse
Cela avance..
2 colonnes sont ajoutées à la table et se complète correctement par update ....
date_form de type date affiché sous forme YYYY-MM-JJ
time_form de type time sous forme hh:mm:ss
Le probleme apparaît lors de la définition de la table. messsage : paramètre invalid.
Voici le paramétrage:
plugin ODBC.dll
Driver:MYSQL ODBC 3.51 Driver
serveur localhost
database,nom d'utilisateur et PW sont indiqués
Date/heure à partir d'une date formatée est coché
Champ date:Format %Y-%m-%d ou %Y%m%d
Champ heure:Format %H:%m:%S ou %H%m%S
Le champ date est un type entier: coché ou pas
Avatar de l’utilisateur
jturlier
Membre
Messages : 3149
Inscription : mar. août 22, 2006 8:38 am
Localisation : 34410 Sérignan - Languedoc
Contact :

Re: Format de colonne date-MYSQL

Message par jturlier »

Bonjour Jacques,
Je ne comprends pas très bien ce qu'il y a ds ta table, peux-tu me faire un backup de cette table et le poster sur mon ftp.
Je te passe par MP un accès.
A bientôt

Jean
jacqueshouben
Nouveau membre
Messages : 5
Inscription : jeu. oct. 15, 2009 9:55 am

Re: Format de colonne date-MYSQL

Message par jacqueshouben »

Voici une solution:
- créer un champ datetime_tb de type bigint(18) mais 14 doit être suffisant
- remplir cette colonne par une requête du type
update matable
set datetime_tb=UNIX_TIMESTAMP(concat(`date_tb`," ",`time_tb`) si on a un champ date_tb de type date et un champ time_tb de type date mais il y a d'autres possibilités

Dans GraphWeather: version 2.0.281b
Menu: Outils-préférences
Choisir l'onglet Sources de données et dans "options" pour date/heure des enregistrement , choisir: à partir d'un timestamp Unix associé au champ datetime_tb (dans ce cas)
NB: Le timestamp d'une date/temps est un entier qui donne le nombre de seconde depuis le 01/01/1970 .
Répondre