Postgresql - vues PGAdmin - ajout en début de ligne dans un
jee pee Messages postés 31926 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai ce genre de datas dans un champ "commentaires" une table :
Lieu dit: Le Pleney et divers
dégagement de la chauffiaz à la pelle araignée;
un hôtel légerement inondé (construit sans autorisation ?);
un mur de soutènnement déstabilisé;
Une salle du palais des sports inondée parremontées des eaux pluviales.
Je voudrais pouvoir mettre * devant chaque ligne après. Du style :
*Lieu dit: Le Pleney et divers
*dégagement de la chauffiaz à la pelle araignée;
*un hôtel légerement inondé (construit sans autorisation ?);
*un mur de soutènnement déstabilisé;
*Une salle du palais des sports inondée parremontées des eaux pluviales.
Quelqu'un a une idée SVP ?
3 réponses
-
Bonjour,
Si c'est un seul champ et qu'à l'édition il se présente ainsi c'est que la chaine contient des sauts de ligne.
Il existe différentes possibilités de caractères invisibles : LF (line feed), CRLF(carriage return + line feed) hexa = OD OA ou en unix \r \n
Il faudrait analyser la chaine pour voir le/s caractère/s présent/s
on peut utiliser ASCII(chaine) pour avoir la valeur numérique d'un caractère. Après il suffira de faire un remplacer ce caractère par lui même + *
-
J'ai essayé mais cela ne me change que la 1ère ligne. J'ai cru comprendre que pour une répétition il fallait utiliser des replace en chaine. Sauf que je ne connais pas le nombre de lignes
-
Dans Mysql REPLACE() fonctionne pour toutes les occurrences de la chaine recherchée : https://www.w3schools.com/sql/func_mysql_replace.asp
voir les fonctions de Postegrsql
-
cela semble aussi le cas : https://www.postgresqltutorial.com/postgresql-string-functions/postgresql-replace/
la chaine ne contient peut être pas ce que tu crois, as tu fait une analyse en hexa de l'ensemble de la chaine ?
-
-