Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
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 29/09/2008, 17h32   #1
Membre chevronné
 
Avatar de nathieb
 
Homme olivier Thiébaut
Chef de projet/Architecte
Inscription : mai 2004
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme olivier Thiébaut
Âge : 45
Localisation : France

Informations professionnelles :
Activité : Chef de projet/Architecte
Secteur : Service public

Informations forums :
Inscription : mai 2004
Messages : 627
Points : 706
Points : 706
Par défaut Vérifier l'existence d'une date

Bonjour,

J'ai une procedure stockée qui lit un curseur,

dans ce curseur j'ai un champ que je transforme en date
Code :
1
2
3
 
SELECT TO_DATE (moncursuer.date_nais,'FXDDFXMMFXYYYY') INTO ladate FROM DUAL 
IF ...
Quelle est la fonction qui permet simplement de dire que jour est < 32, 0<mois<12 à .... enfin le truc standard. J e ne veux pas refaire la roue ..

cela existe ?

Des liens, je trouve pas cf ORACLE PL/SQL O'REilly ..

olivier
nathieb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 17h44   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 459
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 459
Points : 4 226
Points : 4 226
En PL/SQL, (pas d'appel à DUAL si t'es pas obligé)
Code :
1
2
3
4
5
6
7
 
DECLARE
 v_date DATE;
BEGIN
 v_date := TO_DATE (moncursuer.date_nais,'FXDDFXMMFXYYYY');
EXCEPTION WHEN OTHERS THEN .. --c'est pas une date
END;
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2008, 19h22   #3
Membre habitué
 
Avatar de bobmidou
 
Inscription : avril 2008
Messages : 116
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 116
Points : 128
Points : 128
Salut

Essaye d'utiliser la fonction extract
genre:
Code :
1
2
3
4
5
6
7
8
9
10
11
 
declare 
   jour number;
   mois number;
begin
   jour := extract(day FROM ta_date);
   mois :=  extract(month FROM ta_date);
   IF (jour....
   IF (mois...
...
end;
Bonne chance
__________________
--<< Il n y a que les clous qui ne plantent pas >>---
bobmidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2008, 22h57   #4
Rédacteur/Modérateur
 
Avatar de Vincent Rogier
 
vincent rogier
Inscription : juillet 2007
Messages : 2 355
Détails du profil
Informations personnelles :
Nom : vincent rogier
Âge : 34

Informations forums :
Inscription : juillet 2007
Messages : 2 355
Points : 3 108
Points : 3 108
La solution de McM est préférable car elle gère tous les cas de figure... alors que celle bobmidou requiert en plus (ce qu'il ne précise pas !) de tester le nombre de jour en fonction du mois de l'année et de tenir compte des années bissextiles manuellement...
__________________
Vincent Rogier.

Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

OCILIB (C Driver for Oracle)

Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
Vincent Rogier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h50.


 
 
 
 
Partenaires

Hébergement Web