Bonjour,
L'utilisation de la fonction SUBSTR me pose un problème lors du passage de ma base de donnée de oracle8i à oracle10g.
En effet j'ai un script qui me permet de récupérer les 200 premiers caractères d'une colonne contenant des VARCHAR2(2000)
Exemple : (le champ desciption est un varchar2(2000))
Lorsque j'utilise ce scipt avec ma base en oracle 8i, celui-ci me retourne bien les 200 premiers caractères de ma chaine suivi du champ "name".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 select substr(description,1,200) as "description", name as "name" from matable where .... ;
En lançant ce script sur une base 10g, le champ "description" va bien être tronqué à 200 caractères, cependant le select va compléter cette valeur retournée par 1800 caractère nuls (la valeur retournée par le substring aura alors une longueur de 2000 caractères qui correspond à la longueur du champ "description" dans la base).
Pourriez-vous m'éclairer sur ce problème?
Est-il possible de conservez le même fonctionnement qu'avec Oracle 8i?
J'espère m'être fait comprendre.
Merci d'avance.
Partager