Utilisé année de la date du jour dans requête

Fermé
Ghörgh Messages postés 4886 Date d'inscription mardi 19 janvier 2010 Statut Contributeur Dernière intervention 4 avril 2023 - 20 janv. 2016 à 15:44
Ghörgh Messages postés 4886 Date d'inscription mardi 19 janvier 2010 Statut Contributeur Dernière intervention 4 avril 2023 - 21 janv. 2016 à 09:17
Bonjour à tous,
J'ai une requête SQL(dans SAP) qui me renvoit des résultat en fonction des année.
Le problème étant que chaque année, je suis obligé de modifier la requête pour ajouter la nouvelle année.
J'aimerai que ce soit dynamique.
J'ai essayé d'utilisé la fonction year(getdate()), mais pour l'instant ça marche pô.

Le bout de code concerné :
SELECT  
@sum05 =  sum(case year(DocDate) when 2005 then 1 else 0 end), 
@sum06 =  sum(case year(DocDate) when 2006 then 1 else 0 end) ,
@sum07 =  sum(case year(DocDate) when 2007 then 1 else 0 end) ,
@sum08 =  sum(case year(DocDate) when 2008 then 1 else 0 end), 
@sum09 =  sum(case year(DocDate) when 2009 then 1 else 0 end),
@sum10 =  sum(case year(DocDate) when 2010 then 1 else 0 end),
@sum11 =  sum(case year(DocDate) when 2011 then 1 else 0 end),
@sum12 =  sum(case year(DocDate) when 2012 then 1 else 0 end),
@sum13 =  sum(case year(DocDate) when 2013 then 1 else 0 end),
@sum14 =  sum(case year(DocDate) when 2014 then 1 else 0 end)    


J'ai essayé de simplement remplacer l'année par year(getdate()), mais que dalle...

J'ai essayé aussi de déclarer une variable, puis de l'utilisé à la place de l'année, comme ci-dessous, mais niet...
declare @annee_en_cours as numeric(10)
SELECT @annee_en_cours = year(getdate())
SELECT  @sum05 = sum(case year(DocDate) when @annee_en_cours then 1 else 0 end), 


Si certain ont une idée...

Merci d'avance !


1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
20 janv. 2016 à 23:14
Bonjour,

Et en faisant un YEAR de NOW ?
SELECT  @sum05 = sum(case year(DocDate) when  YEAR(NOW) then 1 else 0 end),  

https://help.sap.com/viewer/product/SAP_HANA_ONE/latest/en-US
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
20 janv. 2016 à 23:17
Par contre, là comme ça.. j'ai l'impression que tu cherches à avoir le NOMBRE de lignes par années .....
Dans ce cas pourquoi faire un SUM.... CASE...... Autant utiliser directement un COUNT non ?

bon..après.. moi je ne fais pas de SAP... donc c'est peut être voulu.
0
Ghörgh Messages postés 4886 Date d'inscription mardi 19 janvier 2010 Statut Contributeur Dernière intervention 4 avril 2023 1 241
21 janv. 2016 à 09:17
Salut,
Merci pour ta réponse.
Je vais tester tout ça : par contre pour le count au lieu du sum...case..., je t'avoue que ce n'est pas moi qui ai fait la requête à la base, je ne fait que la modifier.
Mais à voir... je regarde tout ça et je te redis.
Merci
0