Soyez le premier à donner votre avis sur cette source.
Snippet vu 29 407 fois - Téléchargée 15 fois
-------------------------------------------------------------------------------------------------------------- -- Retrieve first date of week -------------------------------------------------------------------------------------------------------------- FUNCTION getFirstDateOfWeek(vi_week_number IN INTEGER, vi_year IN INTEGER) RETURN DATE IS v_first_monday_of_the_year INTEGER; v_value INTEGER; BEGIN v_first_monday_of_the_year := -1; v_value := 0; WHILE v_value <> 2 /*Find first Monday*/ LOOP v_first_monday_of_the_year := v_first_monday_of_the_year + 1; v_value := TO_CHAR(TO_DATE(vi_year || '0101', 'YYYYMMDD') + v_first_monday_of_the_year, 'D'); END LOOP; RETURN TO_DATE(vi_year || '0101', 'YYYYMMDD')+(v_first_monday_of_the_year + (7 * (vi_week_number - 2))); END;
13 mai 2010 à 18:43
sql>SELECT to_char(trunc(sysdate,'IW'),'DL') FROM dual;
sql>lundi 10 mai 2010
13 mai 2010 à 18:34
Super , mais svp j ai besoin de la meme fonction en transact (sql server ) , est ce que c est possible :( ;
merci bien d'avance .
A+
20 juin 2009 à 12:14
tu n'as pas besoin de faire une fonction pour calculer cela.
Un truc du genre :
Select trunc(to_date('2009', 'YYYY') + 7 * semaine, 'IW')
From DUAL
;
Eric
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.