Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour 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 09/02/2011, 15h12   #1
 
Inscription : février 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 2
Points : -1
Points : -1
Par défaut Initialiser zone non renseignée tout en gardant zone rensignée

Bonjour,

J'ai une table ayant 2 colonnes ID et Date de la table Dossier.
Je souhaite initialiser les dates qui ne sont pas renseignées par une chaîne de caractères, mais tout en gardant les dates les plus proches qui sont déjà enregistrées, d'où mon script :

Code :
1
2
3
4
5
6
7
SELECT ID_key, '9999jan01 00:00:00' AS DateZ
FROM T_Dossier
(SELECT ID_key, Max(DateZ)
FROM T_Dossier
WHERE (DateZ IS NOT NULL OR to_char(DateZ,'yyyymm') > '#Id_Mensuel#')
GROUP BY ID_key)
GROUP BY ID_key
Cordialement.

Vincent123
Vincent123 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 09/02/2011, 15h39   #2
Membre régulier
 
Inscription : septembre 2008
Messages : 84
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 84
Points : 88
Points : 88
Il faudrait être plus clair : structure de la table, données dans la tables, résultat attendu...
spdev666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 16h35   #3
 
Inscription : février 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 2
Points : -1
Points : -1
Bonjour,

Pour donner un peu plus d'informations suite à votre remarque.
Structure de la table T_Dossier :
Code :
1
2
3
4
5
CREATE TABLE T_Dossier
(
  ID_key        NUMBER(15)                NOT NULL,
  DateZ  	DATE
)
Certaines dates de la colonne DateZ contiennent des valeurs à vide non saisies (c'est vide) qui seront initialisées par '9999jan01 00:00:00' et certaines dates de la colonne DateZ contiennent des valeurs dates saisies sous forme 14/07/2010.
Donc je cherche à avoir à la fois les champs initialisés et les dates saisies dans la même colonne Datez, cela donnera :

DONNÉES INITIALES
Code :
1
2
3
4
5
6
ID_key	  DateZ
1554250	14/07/2010
1458234	15/08/2010
1458432	
4582787	06/09/2009
1488432
DONNÉES ATTENDUES
Code :
1
2
3
4
5
6
ID_key	  DateZ
1554250	14/07/2010
1458234	15/08/2010
1458432	9999jan01 00:00:00
4582787	06/09/2009
1488432	9999jan01 00:00:00
Cordialement.

Vincent123
Vincent123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 16h39   #4
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 459
Points : 10 459
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Votre besoin ne présente pas d'intérêt en terme de présence en table.

En sélection, il suffit de faire :
Code :
1
2
3
SELECT ID_key,
       coalesce(to_char(DateZ, 'dd/mm/yyyy'), '9999jan01 00:00:00') AS DateZ
  FROM T_Dossier;
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 16h45   #5
Membre actif
 
Homme Cyrille
Administrateur de base de données
Inscription : avril 2005
Messages : 112
Détails du profil
Informations personnelles :
Nom : Homme Cyrille
Âge : 32
Localisation : France, Meurthe et Moselle (Lorraine)

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

Informations forums :
Inscription : avril 2005
Messages : 112
Points : 191
Points : 191
Oui c'est vraiment une mauvaise idée de remplacer les valeurs null par une date bidon... J'ai eu le problème au travail ou les gens avaient mis le 01/01/1970 ou pire le 01/01/0001 à la place des valeurs null dans la table et c'etait plutôt la cata pour les ressortir en java... Il a fallu changer plein de requête pour que ces dates ne ressortent plus.
ca la fou plutot mal quand le client voit des date de ce genre...
IndianaAngus 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 06h24.


 
 
 
 
Partenaires

Hébergement Web