SQL de la Conversion d'un type varchar pour un clob au sein d'une union de SQL
Pourquoi oracle de ne pas autoriser la requête suivante
select to_clob(1) from dual
union
select wm_concat(sysdate) from dual;
wm_concat
retourne un clob. Pour faire à la fois des requêtes dans l'union ont le même type de colonnes-je convertir la colonne dans la première requête d'un clob mais Oracle me donne une [1]: ORA-00932: inconsistent datatypes: expected - got CLOB
erreur, même si les deux sont de retour clob valeur.
Chacune des requêtes de travailler individuellement et à la fois le retour d'un clob valeur.
Vous devez vous connecter pour publier un commentaire.
Je ne crois pas
wm_concat
renvoie uneCLOB
.Cela montre que le retour est
Typ=1
qui est unVARCHAR2
lesquelles vous pouvez également voir si vous créez une vue
Si vous convertissez la
VARCHAR2
retourné parWM_CONCAT
dans unCLOB
, le problème suivant est que l'Oracle ne supporte pas de faire unDISTINCT
sur unCLOB
colonne qui est nécessaire pour faire unUNION
. En supposant que vous n'avez pas vraiment besoin de supprimer les doublons de lignes, vous pouvez utiliser unUNION ALL
plutôt qu'unUNION
.Mettre les deux ensemble, quelque chose comme cela
travaillera
wm_concat
si le résultat est plus que 4000 octets, oui.