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 12/07/2011, 15h21   #1
Invité de passage
 
Homme
Chercheur en informatique
Inscription : juillet 2011
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Chercheur en informatique

Informations forums :
Inscription : juillet 2011
Messages : 26
Points : 1
Points : 1
Par défaut Problème d'union Oracle format

Bonjour,
J'ai un problème depuis ce matin avec une union de deux requete dans oracle :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT DISTINCT
    TO_CHAR(c.Date_debut, 'DD/MM/YYYY') Jour,
    TO_CHAR(c.Date_debut, 'YYYY') Annee,
    TO_CHAR(c.Date_debut, 'MM') Mois,
..
FROM c
 
 union ALL
 
SELECT DISTINCT
     TO_char(sal.jour, 'DD/MM/YYYY')  Jour ,
     To_char(sal.Année, 'YYYY') Annee,
     To_char(sal.mois, 'MM') Mois,
..
FROM sal
le requete 1 (from X) est ok
la requete 2 ne s'execute (individuellement) que lorsque j'enleve les to_char
lorsque je lance le script avec union ( req 2 sans les to_char) il me donne une erreur ORACLE 01790 -- problème de datatype

il y a donc un problème de type que je n'arrive pas à coutourner

Merci beaucoup de votre aide
SQL_i est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 15h30   #2
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
Quel sont les types des colonnes incriminées ?
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/07/2011, 15h58   #3
Membre éprouvé
 
Avatar de xdescamp
 
Homme Xavier Descamps
Inscription : octobre 2008
Messages : 297
Détails du profil
Informations personnelles :
Nom : Homme Xavier Descamps
Âge : 36
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2008
Messages : 297
Points : 422
Points : 422
Envoyer un message via Skype™ à xdescamp
Bonjour,
Citation:
Envoyé par SQL_i Voir le message
lorsque je lance le script avec union ( req 2 sans les to_char) il me donne une erreur ORACLE 01790 -- problème de datatype
C'est normal, Oracle ne peut pas concaténer les 2 blocs de données si ce ne sont pas les mêmes type de données. S'il n'y a pas les TO_CHAR, on se retrouve avec des VARCHAR dans le 1er bloc, et des DATE dans le 2e, d'où le message.

Citation:
Envoyé par SQL_i Voir le message
la requete 2 ne s'execute (individuellement) que lorsque j'enleve les to_char
Que se passe-t-il avec les TO_CHAR ? Un message d'erreur ? Peut-on avoir la requête complète ?
xdescamp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 17h46   #4
Invité de passage
 
Homme
Chercheur en informatique
Inscription : juillet 2011
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Chercheur en informatique

Informations forums :
Inscription : juillet 2011
Messages : 26
Points : 1
Points : 1
Citation:
Envoyé par xdescamp Voir le message
Bonjour,

C'est normal, Oracle ne peut pas concaténer les 2 blocs de données si ce ne sont pas les mêmes type de données. S'il n'y a pas les TO_CHAR, on se retrouve avec des VARCHAR dans le 1er bloc, et des DATE dans le 2e, d'où le message.


Que se passe-t-il avec les TO_CHAR ? Un message d'erreur ? Peut-on avoir la requête complète ?
Merci
j'ai corrigé le problème en concaténant les champs de la requête 2 avec un '' ..ce qui a forcé le passage du champs en var char
sal.année || '' Annee,
sal.mois || '' Mois,
SQL_i 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 06h35.


 
 
 
 
Partenaires

Hébergement Web