Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Débuter
Débuter Forum d'entraide pour débuter avec Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/02/2008, 10h17   #1
Nouveau Membre du Club
 
Inscription : juillet 2006
Messages : 63
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 63
Points : 30
Points : 30
Par défaut Obtenir la date de fin d'année

Bonjour ,
je suis dans une requette sql et j'aime comparer une date avec la date de fin d'anné (31-dec-XXXX) . qlq1 de vous connait comment je peux obtenir la date de fin d'anné c.a.d si on ai en 2011 je doit avoir 31-dec-2011
MERCI
sofienems est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2008, 10h22   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
pourquoi pas :

Code :
'31/12/' || TRUNC(ladate,'YYYY')
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2008, 10h22   #3
Membre Expert
 
Avatar de scheu
 
Inscription : juin 2007
Messages : 1 497
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 497
Points : 1 483
Points : 1 483
Citation:
Envoyé par orafrance Voir le message
pourquoi pas :
Code :
'31/12/' || TRUNC(ladate,'YYYY')
Ca va lui donner 31/12/01/01/08 et non pas 31/12/08

C'est faisable avec par exemple
Code :
TO_DATE(TO_CHAR(sysdate,'YYYY')||'1231','YYYYMMDD')
scheu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2008, 10h39   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
au temps pour moi
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2008, 11h13   #5
Membre confirmé
 
Avatar de DAB.cz
 
Inscription : octobre 2006
Messages : 221
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 221
Points : 214
Points : 214
Et pour obtenir la date de fin d'anné précédente:
Code :
trunc (sysdate, 'YEAR') - 1
et cette anné
Code :
add_months (trunc (sysdate, 'YEAR') - 1, 12)
Je crois (pas sûr) c'est plus performant que to_char et to_date.

DAB
DAB.cz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2008, 13h45   #6
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
Citation:
Envoyé par DAB.cz Voir le message
Je crois (pas sûr) c'est plus performant que to_char et to_date.
je confirme !
Code :
1
2
3
4
5
6
7
8
9
10
11
SQL> declare d date;
  2  begin
  3    FOR i IN 1..1000000 loop
  4      d:=add_months (trunc (date '2000-01-01'+i, 'YEAR') - 1, 12);
  5    end loop;
  6  end;
  7  /
 
PL/SQL procedure successfully completed.
 
Elapsed: 00:00:02.28
Code :
1
2
3
4
5
6
7
8
9
10
11
SQL> declare d date;
  2  begin
  3    FOR i IN 1..1000000 loop
  4      d:=TO_DATE(TO_CHAR(date '2000-01-01'+i,'YYYY')||'1231','YYYYMMDD');
  5    end loop;
  6  end;
  7  /
 
PL/SQL procedure successfully completed.
 
Elapsed: 00:00:07.36
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2008, 14h34   #7
Membre Expert
 
Avatar de scheu
 
Inscription : juin 2007
Messages : 1 497
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 497
Points : 1 483
Points : 1 483
Bien vu
scheu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h58.


 
 
 
 
Partenaires

Hébergement Web