Bonjour,
J'aimerais faire une recherche de caractères dans un champs de type LONG.
Le LIKE est utilisé pour les recherche dans les champs de type texte, donc comment faire pour trouver le même résultats sur un LONG?
D'avance merci
Version imprimable
Bonjour,
J'aimerais faire une recherche de caractères dans un champs de type LONG.
Le LIKE est utilisé pour les recherche dans les champs de type texte, donc comment faire pour trouver le même résultats sur un LONG?
D'avance merci
tout pareil !
Heuuu, je ne sais pas pourquoi ça ne marche pas.
Je fais: LOG.DETAILS LIKE '%Deadline%'
Et j'ai le message suivant "ORA-00932: inconsistent datatypes: expected NUMBER got LONG"...
Je ne comprend pas, merci pour ta réponse
Pardon, je pensais que LONG était un type numérique (je suis dans VB en ce moment :oops:).
Je constate que la doc Oracle précise :
Ton message d'erreur est un peu surprenant... Essaie déjà comme ça :Citation:
Do not create tables with LONG columns. Use LOB columns (CLOB, NCLOB, BLOB) instead. LONG columns are supported only for backward compatibility.
Code:CAST(LOG.DETAILS AS VARCHAR2(255)) LIKE '%Deadline%'
Aucun problème ;)
En effet, je trouve aussi un peut bizarre qui des LONG soit utilisés dans cette table, mais je suis obligé de faire avec :cry:
En fait j'ai essayé avec ta solution, mais j'ai exactement le même message d'erreur. Je me demande si je ne dois pas utiliser les CLOB?!
Mais je ne connais rien là dedans...
Merci
Bonjour,
Qu'en est-il avec la fonction to_char ?
Ok, alors finalement j'ai trouvé une solution.
Une peu plus contraignante que ce que je pensais, mais j'ai utilisé un curseur en PL/SQL. Le curseur modifier lui même le type pour la comparaison.
Il suffit ensuite de boucler sur les résultats du curseur et faire un simple IF:
Merci pour les quelques conseils.Code:if instr(wrec.details, 'TEXTE A RECHERCHER') > 0