Date et SQL

Résolu
youhibadelphi Messages postés 187 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 20 février 2010 - 27 sept. 2009 à 15:05
youhibadelphi Messages postés 187 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 20 février 2010 - 28 sept. 2009 à 13:55
Salut après la compilation Delphi m'a déclaré une erreur dans la ligne
Salut tlm
Je cherche faire un distinct sur un champ date
Select distinct (date)
From latable
Après l'exécution une ligne vide s'affiche, alors je cherche faire une condition pour éviter l'affichage de cette ligne.
J'ai essayé avec
Where date<>'' mais ça ne marche pas.
Merci

yahia

3 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
27 sept. 2009 à 21:30
Salut,

Deux remarques :

Primo : date est un mot réservé du SQL. Il ne faut donc pas nommer un champ tel quel. D'ailleurs, comment connaitre la signification d'un champ qui s'appelle "date" ? Date de naissance, date de vente, date du post sur le forum DelphiFr ?
Néanmoins, si tu tiens vraiment nommer des champs avec des mots réservés, il faut les encadrer de guillemets dans tes requêtes pour que le moteur SQL puisse faire la distinction.

Secundo : "WHERE date<> ''" n'a aucun sens. Un champ de type date n'est pas une chaîne. En fonction de comment tu as déclaré ton champ de type date (nul autorisé ou pas), il faudra utiliser les formes suivantes.
WHERE "date" IS NOT NULL
ou alors
WHERE "date" <> '0000-00-00'
Ici, la valeur '0000-00-00' représente la valeur par défaut déclarée dans l'instruction DDL de la table.

Tertio : le forum SQL serait plus approprié pour ce genre de question.

A+

8000 Lévriers 'galgos' par an sont torturés et massacrés en Espagne
May Delphi be with you

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
3
youhibadelphi Messages postés 187 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 20 février 2010 3
27 sept. 2009 à 15:06
JE MEXCUSE VOILA LE TEXTE DE LA QUESTION
Salut tlm
Je cherche faire un distinct sur un champ date
Select distinct (date)
From latable
Après l'exécution une ligne vide s'affiche, alors je cherche faire une condition pour éviter l'affichage de cette ligne.
J'ai essayé avec
Where date<>'' mais ça ne marche pas.
Merci

yahia
0
youhibadelphi Messages postés 187 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 20 février 2010 3
28 sept. 2009 à 13:55
Salut
pour la première remarque:
J’ai écris date comme exemple dans le forum, dans ma base de donnée le champ c'est date_vac, mais j'ai appris une chose comme même.
pour la deuxième remarque:
WHERE "date" IS NOT NULL
Ou alors
WHERE "date" <> '0000-00-00'
C’est la solution que je cherche.
Pour la troisième remarques
merci pour le conseil.


yahia
0
Rejoignez-nous