begin process at 2013 06 19 22:22:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Procédure

 > [ORACLE]DÉTERMINER LA DATE DU PREMIER JOUR D'UNE SEMAINE PAR LE NUMÉRO DE SEMAINE

[ORACLE]DÉTERMINER LA DATE DU PREMIER JOUR D'UNE SEMAINE PAR LE NUMÉRO DE SEMAINE


 Information sur la source

Note :
Aucune note
Catégorie :Procédure Classé sous :date, procédure stockée, oracle Niveau :Débutant Date de création :20/03/2009 Date de mise à jour :23/03/2009 14:47:24 Vu :18 042

Auteur : Bouillou2

Ecrire un message privé
Site perso
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Déterminer la date du premier jour d'une semaine par le numéro de semaine.

Le principe est de déterminer le premier lundi de l'année pour l'additionner au nombre de semaine * 7

Source

  • --------------------------------------------------------------------------------------------------------------
  • -- 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;
--------------------------------------------------------------------------------------------------------------
-- 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;

 Conclusion

Pas trouvé d'équivalent sur le Net, du coup je publie mon source


 Sources de la même categorie

SQL-SERVER : PROC.GESTION XML AVEC XPATH par yann_lo_san
SQL-SERVER PROC. SEND_FTP par yann_lo_san
IMPORTATION DE FICHIER TEXT (CSV) RAPIDEMENT par vladam
Source avec une capture T-SQL - SPLIT SANS TABLE TEMPORAIRE par TheOnlyMaX
Source avec Zip (SQL SERVER) REQUÊTE POUR RECHERCHER UN {GUID} DANS TOUS LES... par lassaad83

 Sources en rapport avec celle ci

CHERCHER LES PROCÉDURES STOCKÉES CONTENANT UN MOT-CLÉ OU UN ... par white_mage
SUPPRESSION DES ESPACES MULTIPLE D'UNE CHAÎNE (ORACLE ,SQL) par lamjed
ESPACE LIBRE PAR TABLESPACE par lamjed
NOMBRE DES JOURS OUVRABLE par lamjed
AJOUT , SUPPRESSION INTERVALLE DE TEMPS EN PLSQL par lamjed

Commentaires et avis

Commentaire de EricSQL le 20/06/2009 12:14:29

Bonjour,

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

Commentaire de valantino1 le 13/05/2010 18:34:12

Salut,
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+

Commentaire de valantino1 le 13/05/2010 18:43:48

SVP : si qq un peux m'aider :je veux avoir une resltat comme celle la(mais en transact) :

sql>SELECT to_char(trunc(sysdate,'IW'),'DL') FROM dual;

sql>lundi 10 mai 2010

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

convertir datediff sous oracle [ par patou06 ] Bonjour à tous,Je travaille sur une appli web jsp qui se connecte indépendamment d'une base de donnée à l'autrej'ai une condition sous SQLServer qui r prob ! Procédure stockées oracle avec date [ par dexter02 ] Bonjour sous oracle 10gJe souhaite créer une procédure qui me remplit une table Stat_gain a partir de la table GAIN entre une Variable globale (V_GLOB Requete oracle SQL fonctions d'agrégation [ par anasiq ] Bonjour à tous j ai un probleme dans une rekette si quelqu'un vous pouvez m'aider : en 2008 ,quel est le mois qui a connu le passage du plus petit nom récupération d'une date dans une base de données Oracle 9i [ par albancadiot ] Bonjour, j'ai un problème pour quelques chose qui me semble tout bête. Je doit récupérer des dates dans une table Oracle 9i . J'utilise eclipse et j Encore un problème de dates avec MySQL [ par ImmortalPC ] Salut, je deviens fou avec mon calendrier J' ai une date de commencement et une date de fin respectivement : date_start et date_end Leur type : datet difficulté avec ma requete [ par blackout ] Bonjour,Je rencontre une petite difficult&#233; avec une requete sql.J'ai&nbsp;2 champs Nom et&nbsp;Date.Le champ Date correspond &#224; la date de cr Encore les dates avec MySQL [ par ImmortalPC ] Salut,J'aimera s&#233;l&#233;ctionner tout ce qui as entre le 2006-4-10 et le 2006-4-17Dans ma table SQL j' ai une date de commencement et une date de dates qui plantent tout !! [ par chamallow ] Bonjour,Alors voil&#224;, j'utilise une base SQL SERVER. Pour me rassurer, il n'existe pas de type date pour ce type de base non? (J'utilise datetime, Date dans sql server 2000 [ par Boudchiche ] Salut Avant je vous juste vous dire que j'ai chercher pendant 2 jours soit par google et dans le forum mais je n'ai rien trouvece que s'est que lorsqu Problème avec SQL EXPRESS est champs date et time [ par drakkard ] Bonjour, bonjourvoici mon pb,sur SQL EXPRESS 2005 je cherche &#224; mettre en place dans ma table des champs date et des champs time.Je n'ai trouv&#23


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Juin 2013
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales