Postgresql - vues PGAdmin - ajout en début de ligne dans un
jee pee Messages postés 41551 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 ?
- Postgresql - vues PGAdmin - ajout en début de ligne dans un
- Vue satellite en direct gratuit de ma maison - Guide
- Partage de photos en ligne - Guide
- Mètre en ligne - Guide
- Pgadmin download - Télécharger - Gestion de données
- Formulaire en ligne de meta - Guide
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 ?
Bjr, merci déjà d'voir pris le temps de répondre.
C'est bien un seul champ dans ma table.
La fin de chaque ligne est marquée par un CHR(10).
J'arrive à mettre une * devant la 1ère ligne.
Mais comment en Postgrsql fait-on pour mettre cette * devant chaque début de ligne après un Chr(10)
en sql, avec une fonction pour remplacer une chaine par une autre (voir ce qui existe dans Postgresql) on peut avoir quelque chose comme