#1 Tue 29 April 2008 15:43
- AurelieA
- Juste Inscrit !
- Date d'inscription: 29 Apr 2008
- Messages: 2
Utiliser des opérateurs temporels sur MapInfo
Bonjour Mapinfistes,
1/ Les opérateurs spatiaux proposés par MapInfo (>, <, >=, sont ils transposables pour réaliser des requêtes temporelles? exemple. dans une tables donnée et une colonne "date" choisie : la formule "Date > 01/01/1859" sélectionnerait tous les objets qui ont une date suppérieure à 01/01/1859. Sauf que ça ne fonctionne pas.
2/ Les focntions sont peut être la solutions? exemple. dans les mêmes conditons :la formule "date > years(1859)" sélectionnerait tous les objets qui ont une date suppérieure à 1859. Sauf que ça ne fonctionne pas on plus.
Quelqu'un pourait-il m'éclairer sur ce point afin de réaliser les types de requêtes suivantes : exemples.
"Sélection des batiments créés avant 1960" idem pour "après 1950"
"Sélection des batiments créés en 1960"
""Sélection des batiments créés entre 1960 et 1980"
Hors ligne
#2 Tue 29 April 2008 16:18
- Nicolas Szlapka
- Participant actif
- Lieu: NPDC
- Date d'inscription: 20 Dec 2006
- Messages: 107
Re: Utiliser des opérateurs temporels sur MapInfo
Bonjour !
Apparemment, ça fonctionne...
Je viens de tester un petit truc, j'ai créé une table sous Excel avec 4 colonnes, dont une appelée "Date" et où le format de cellule est bien en "date" et du type "14/03/01".
Je l'ai ouverte sous MapInfo (d'abord enregistrée sous un autre nom puis rouverte, au cas où)
J'ai effectué une requête SQL avec un critère tel que : Date > "01/01/2006"
La requête m'a bien sorti les éléments postérieurs à cette date.
La fonction était sans doute mal écrite...
Quoi que...
Réessayez pour voir avec les guillemets autour de la date.
Ou alors ça dépend du format de date.
Dernière modification par Nicolas Szlapka (Tue 29 April 2008 16:23)
Nicolas
Hors ligne
#3 Thu 01 May 2008 19:18
- AurelieA
- Juste Inscrit !
- Date d'inscription: 29 Apr 2008
- Messages: 2
Re: Utiliser des opérateurs temporels sur MapInfo
Pour les opérateurs (>, <, etc.) ça fonctionne avec les guillemets. Merci pour ce déblocage!
Cependant, la quetion 2 reste sans réponses :
- Les fonctions (years, week, etc.) correspondent à quelles requêtes exactement?
- Ces fonctions s'utilisent avec quelle syntaxe?
Si quelqu'un sait...Merci d'avance
Hors ligne
#4 Thu 01 May 2008 20:40
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Utiliser des opérateurs temporels sur MapInfo
Bonjour
Il y a le problème des réglages nationaux (date "à la française" ou pas), sinon les fonctions Day( ), Month( ), Weekday( ), Year( ) donnent le n° du jour (1 à 31), le mois (1 à 12), le n° du jour (1 à 7) et l'année d'une expression de date (qu'on peut tester avec CurDate() )
A vous d'essayer en tapant ces différentes expressions dans la fenêtre MapBasic: print Day(CurDate())...etc...
Hors ligne
#5 Fri 04 September 2009 15:21
- gussoner
- Participant actif
- Date d'inscription: 29 Jan 2006
- Messages: 128
Re: Utiliser des opérateurs temporels sur MapInfo
Bonjour,
j'ai moi aussi eu à faire des recherches temporelles avec MI. Du coup j'ai développé un tout petit mbx qui permet d'éviter de passer par une requête SQL. Si ca peut servir à d'autres..
Hors ligne