2 votes

dans Oracle 9.2, comment comparer un type LONG contenant un texte de type String à une colonne de type VARCHAR2 ?

Simple q. Dans Oracle 9.2, comment comparer un type LONG contenant un texte de type String à une colonne de type VARCHAR2.

select * from table1 t1, table2 t2 where t1.long_value = t2.varchar2_value

Comment puis-je exécuter une telle requête de la manière la plus simple ?

2voto

DCookie Points 22921

La réponse courte est que vous ne pouvez pas, directement. Jetez un coup d'œil à cette pour une fonction permettant de convertir les longs en varchar2 afin de pouvoir les utiliser dans une instruction SQL. LONG pose plus de problèmes qu'il n'en vaut la peine, mais il faut parfois s'en accommoder.

-1voto

John Nilsson Points 4650

Hmm, sans avoir accès à Oracle, je suppose que votre problème est le casting vers les bons types.

essayer (''||t1.long_value) = t2.varchar2_value pour forcer une conversion

mais cela dépend de la façon dont vous avez configuré vos index. Si vous voulez utiliser l'index sur t1.long_value, il est préférable de convertir t2.varchar2_value en quelque chose comme

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X