Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Sur une de mes tables j'ai un champs de type character(16) qui se complète avec des espaces (fonctionnement normal).
Par contre, quand je fais un select, le champ retourné ne contient aucun espace superflus.
Ma question : Comment faire pour récupérer le champ en entier (la chaine + les espaces superflus)?
Merci
Exemple : (Postgres 9.1)
create table PARAM_RUB
(
OID VARCHAR (20) not null,
CDRUB CHAR(16) not null,
);
insert into param_rub (oid, cdrub) values ('15203','FILLER ');
Quand je recherche à récupéré le champ cdrub entouré par un caractère 'a' (pour voir ce qu'il me retourne), j'ai "aFILLERa" au lieu de "aFILLER a".
select 'a' ||cdrub || 'a' from param_rub where oid = '15203';
Hors ligne
Cela semble conforme à la documentation et notamment:
Les espaces finales sont ignorées lors de la comparaison de deux valeurs de type character et sont supprimées lors de la conversion d'une valeur character en un des autres types chaîne
Pour résoudre le problème essayez de faire un cast vers un VARCHAR:
select 'a' || cdrub::VARCHAR || 'a' from param_rub where oid = '15203';
Éric
Hors ligne
Pages : 1