Format date d'Access à SQL Server

Format date d'Access à SQL Server - SQL/NoSQL - Programmation

Marsh Posté le 19-01-2007 à 10:58:27    

Bonjour,
 
Je tente de convertir des requêtes Access en procédures stockées SQL Server, et je rencontre un petit souci avec la fonction Access "format".  
Elle n'est apparemment pas reconnue par SQL Server et je ne parviens pas à trouver son équivalent.
 
Voici la procédure stockée SQL Server que je tente de faire passer :
 

Code :
  1. CREATE PROCEDURE dbo.etatComptProd_horseuropipe (@date_debut VARCHAR(10), @date_fin VARCHAR(10))
  2. AS
  3. BEGIN
  4. SELECT DISTINCT Month([dateexp]) AS mois, Format([dateexp],"mmmm yyyy" ) AS libmois,
  5. SORTIES.DESTINATAIRE, SORTIES.COMMANDE, SORTIES.POSTE, CHOIX.[CODE CHOIX], CHOIX.[CHOIT TBORD],
  6. Sum(SORTIES.TONNAGE) AS SommeDeTONNAGE, Sum(SORTIES.TOLE) AS SommeDeTOLE
  7. FROM REGROUPEMENT INNER JOIN (PAYS INNER JOIN (CHOIX INNER JOIN SORTIES ON CHOIX.[CODE CHOIX] = SORTIES.CHOIX)
  8. ON PAYS.[CODE PAYS] = SORTIES.[CODE PAYS]) ON REGROUPEMENT.[CODE REGROUPEMENT] = PAYS.REGROUPEMENT
  9. WHERE ((SORTIES.DATEEXP) Between @date_debut  And  @date_fin))
  10. GROUP BY Month([dateexp]), Format([dateexp],"mmmm yyyy" ), SORTIES.DESTINATAIRE, SORTIES.COMMANDE,
  11. SORTIES.POSTE, CHOIX.[CODE CHOIX], CHOIX.[CHOIT TBORD]
  12. HAVING CHOIX.[CODE CHOIX]=2
  13. ORDER BY Format([dateexp],"mmmm yyyy" );
  14. END
  15. GO


 
Les lignes me posant problème sont donc celles contenant :
 

Code :
  1. Format([dateexp],"mmmm yyyy" )


 
N'étant pas l'auteur de la requête ACCESS, je ne suis tout d'abord par certain d'avoir compris l'utilité de la fonction.  
 
- Le principe est-il bien de partir d'une date de type "01/01/2006" et d'obtenir "Janvier 2006" ?
 
- Dans ce cas, par quelle fonction puis-je la remplacer pour pouvoir l'utiliser en SQL Server ?
 
Je vous remercie par avance,
Alex


Message édité par Bounty59 le 19-01-2007 à 11:30:35
Reply

Marsh Posté le 19-01-2007 à 10:58:27   

Reply

Marsh Posté le 19-01-2007 à 13:07:03    

Convert, cast ...
un petit lien pour t'aider
=>
http://www.sqlfr.com/code.aspx?ID=31198

Reply

Marsh Posté le 19-01-2007 à 15:32:57    

Je n'y arrive pas :'(
 
... mais si j'ai bien compris, je ne peux pas traduire la fonction Access en une seule fonction SQL Server ?...
Je dois d'abord extraire le mois en toutes lettres, puis extraire la date, et concaténer le tout. Je me trompe ?  

Reply

Marsh Posté le 19-01-2007 à 15:55:38    

Essaie ça !
Mais ça fait 3 fonctions déjà ;-)
 
select  
DateName(Month, Dateexp) + ' ' + Cast(Year(Dateexp) As Char(4) ...
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed