begin process at 2008 07 04 10:04:01
1 204 528 membres
70 nouveaux aujourd'hui
14 116 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : fonction sql srver [ SQL Server, MSDE, SQL Express / Functions ] (bmeri)

fonction sql srver le 24/10/2007 18:07:55

bmeri
bjr
j'ai besoin de votre aide pour trouver une fonction qui permet de renvoyer le trimestre pour pouvoir effectuer  un filtre avec ,
merci d'avance

Re : fonction sql srver le 25/10/2007 15:13:37

calla25
Bonjour,

Si j'ai bien compris tu essayes de récupérer le trimestre d'une date dans une table?
Essayes cela :
select quarter(TaDate) From TaTable;
Je pense que ce doit etre un truc de ce genre.

Regarde le lien(chapitre VIII):
ftp://ftp-developpez.com/baptiste-wicht/tutoriel/ms-sql/datetime/datetime.pdf

Bon courage

Re : fonction sql srver le 26/10/2007 16:49:35

mrdep1978
Salut,

A ma connaissance, il n'y a pas de fonction toute faite.

Je te propose ceci :

select

ceiling(cast(datepart(month,maDate)asfloat)/3)from maTable
* datepart(month, madate) renvoie le numéro du mois de ta date (de 1 à 12)
* cast(... as float) va convertir ce mois en décimal. Si tu ne le fais pas il va tronquer le résultat de ta division par 3 : ex. pour novembre : 11/3 => 3 au lieu de 3.6666666..
* /3 car 1 trimestre = 3 mois
* ceiling pour arrondir à l'entier supérieur le plus proche ;
- Aout : 8/3 = 2.66666.. =< Ceiling(8/3) = 3
- Octobre : 10/3 = 3.3333333...  => Ceiling(10/3) = 4
- Décembre : 12/3 = 4 => Ceiling(12/3) = 4
etc...

Olivier

Re : fonction sql srver le 26/10/2007 16:52:11

mrdep1978

Argh, j'ai oublié un saut de ligne, ça fait tout moche.
Je reprends :

select
ceiling ( cast ( datepart ( month , maDate ) as float )/ 3 ) from maTable

* datepart(month, madate) renvoie le numéro du mois de ta date (de 1 à 12)
* cast(... as float) va convertir ce mois en décimal. Si tu ne le fais pas il va tronquer le résultat de ta division par 3 : ex. pour novembre : 11/3 => 3 au lieu de 3.6666666..
* /3 car 1 trimestre = 3 mois
* ceiling pour arrondir à l'entier supérieur le plus proche ;
- Aout : 8/3 = 2.66666.. =< Ceiling(8/3) = 3
- Octobre : 10/3 = 3.3333333...  => Ceiling(10/3) = 4
- Décembre : 12/3 = 4 => Ceiling(12/3) = 4
etc...


Re : fonction sql srver le 26/10/2007 18:10:52

bmeri
bjr
merci a vous j'ai deja trouvé une solution c'est d'ajouter une table qui contient les mois et le trimestre associé a chaque mois et en fonction de cet table je peux avoir le trimestre on l'associant avec la table qui contient la date dont je veux connaitre le trimestre.

Re : fonction sql srver le 02/11/2007 17:20:30

FENETRES

--Cependant très simple !

 

declare @dte as datetime

set @dte = convert ( datetime , '01/04/2007' )

 

select datepart ( quarter , @dte )

--sinon

select ceiling ( month ( @dte )/ 3.0 )


Fenêtres


Classé sous : fonction, sql, srver

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS