Domanda

Ho costruito una query che contiene UNION ALL, ma le due parti di esso non hanno lo stesso tipo di dati. Voglio dire, ho per visualizzare una colonna, ma la formato delle due colonne, da dove ottengo i dati sono differenze. Quindi, se ho un esempio:

select a,b
from c
union all
select d,b
from e

A e D sono numeri, ma hanno formato diverso. Ciò significa che una lunghezza di 15 è e la lunghezza di b è 13. Non esistono cifre dopo la virgola mobile. Utilizzando le cifre, varchar, interi e decimali non ha funzionato. Ho sempre trovato il messaggio: Conversione dei dati o dati Errore di mappatura . Come posso convertire questi campi nello stesso formato?

È stato utile?

Soluzione 2

Ho usato la funzione getto di convertire le colonne tipo nello stesso tipo (varchar con una grande lunghezza) .Così ho usato unione senza problemi. Quando ho bisogno del loro tipo di originale, di nuovo, ho usato la stessa funzione cast (questa volta mi sono convertito i valori in virgola mobile), e ho ottenuto il risultato che volevo.

Altri suggerimenti

Non ho esperienza DB2, ma non posso solo lanciare 'a' e 'D' per gli stessi tipi. Che sono grandi abbastanza per gestire entrambi i formati, ovviamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top