CONVERTIR UNE DATE DANS UNE REQUETE SQL

Messages postés
2
Date d'inscription
mercredi 6 août 2008
Statut
Membre
Dernière intervention
27 mai 2011
- - Dernière réponse : alexandrevandenberghe
Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
16 juillet 2013
- 27 mai 2011 à 15:47
Bonjour,
Je tente de forcer la reqête sql suivante :
SELECT t.ACCOUNTRP Client,f.NAME1 Nom,f.CATEGORY REP,f.TELNUMBER Tél,f.FAXNUMBER Fax, t.DATEDOC Date, f.CITY Localité,t.COMMENT Comment, t.dbkcode Jnl, t.docnumber Numéro, t.amounteur Montant, t.duedate Echéance, t.ismatched matché, t.matchno Match, t.discdate dateesc, t.discamount escompte

from [ACT] t, [CSF] f

where t.accountrp = f.number and f.type='1' and t.doctype='1' and t.ismatched=false

order by t.accountrp, t.matchno,t.datedoc


en forçant les sélections de date pour les avoir en format dd/mm/yyyy

J'ai donc utilisé dans la requête
CONVERT(VARCHAR(10), t.DATEDOC, 103) AS [DD/MM/YYYY]
mais cela plante.

Quelqu'un aurait-il une idée sur le problème ?

Je précise, suis vraiment pas un pro de l'info ...

Merci


Avant de passer sur le forum
Après être passé sur le forum
Merci
Afficher la suite 

3 réponses

Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
16 juillet 2013
2
0
Merci
Bonjour
Tu as quel message d'erreur exactement, parce que moi je ferai plus cela comme requete:

SELECT t.ACCOUNTRP AS Client,f.NAME1 AS Nom,f.CATEGORY AS REP,f.TELNUMBER AS Tél,f.FAXNUMBER Fax, t.DATEDOC Date, f.CITY Localité,t.COMMENT Comment, t.dbkcode Jnl, t.docnumber Numéro, t.amounteur Montant, t.duedate Echéance, t.ismatched matché, t.matchno Match, t.discdate dateesc, t.discamount escompte

from [ACT] t, [CSF] f

where t.accountrp = f.number and f.type='1' and t.doctype='1' and t.ismatched=false

order by t.accountrp, t.matchno,t.datedoc


(Ajout de AS entre chaque colonne et chaque nom de colonne resultat)


Pour la date, tu peux peut être utiliser un convert avec un autre code, mais je ne sais pas lequel...

Par contre tu peux essayer cela:

SELECT DAY(t.datedoc) + '/' + MONTH(t.datedoc) + '/' + YEAR(t.datedoc) AS DATETMP

Je n'utiliserai pas DATE comme nom de champ parce que je crois que c'est un nom utilisé par SQL (comme datetime, varchar, integer, ...)
Commenter la réponse de alexandrevandenberghe
Messages postés
2
Date d'inscription
mercredi 6 août 2008
Statut
Membre
Dernière intervention
27 mai 2011
0
Merci
Alexandre,
AS imbriqué =>ok changé
DATE comme nom de champ : ok changé en datedoc
J'ai testé pour le SELECT DAY ... et là ça marche pas.

Merci pour ton aide.

Avant de passer sur le forum
Après être passé sur le forum
Merci
Commenter la réponse de castapdl
Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
16 juillet 2013
2
0
Merci
C'est quoi le type de ta colonne DATEDOC de ta table [ACT]...
Commenter la réponse de alexandrevandenberghe