PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 18/11/2013 14:26:50

damalaan
Membre

Afficher le guillemet simple ?

Bonjour,

Une petite question toute bête que je me permets de poser n'ayant pas de trouvé de réponse dans la doc :
comment afficher un guillemet simple dans une chaine de caractère, du style

 coucou c'est moi  

j'ai tenté ceci

select 'coucou c'\moi'
select "coucou c\'est moi"

sans succès !

je suis sous pgadminIII, pg9.3, encodage UTF8

merci

Hors ligne

#2 18/11/2013 14:29:23

meles
Membre

Re : Afficher le guillemet simple ?

Bonjour,

select 'coucou c''est moi'

devrait le faire.

@+

Hors ligne

#3 18/11/2013 14:32:58

damalaan
Membre

Re : Afficher le guillemet simple ?

impec

Y a t il qqc dans la doc que j'aurais loupé?

Hors ligne

#4 18/11/2013 22:30:05

gleu
Administrateur

Re : Afficher le guillemet simple ?

Chapitre 4.2.1.1 (http://docs.postgresql.fr/current/sql-s … ar-quoting)

Une constante de type chaîne en SQL est une séquence arbitraire de caractères entourée par des guillemets simples ('), c'est-à-dire 'Ceci est une chaîne'. Pour inclure un guillemet simple dans une chaîne constante, saisissez deux guillemets simples adjacents, par exemple 'Le cheval d''Anne'. Notez que ce n'est pas au guillemet double (").


Guillaume.

Hors ligne

#5 19/11/2013 09:35:39

damalaan
Membre

Re : Afficher le guillemet simple ?

Merci, j'avais effectivement loupé qqc!

Pourquoi l'anti slash ne fonctionne pas dans ce cas? (c'est ce qui est donné comme solution dans certaines formations !)

Hors ligne

#6 19/11/2013 10:38:25

rjuju
Administrateur

Re : Afficher le guillemet simple ?

Parce que l'antislash n'est pas un échappement correct en SQL, à moins de demander explicitement l'échappement :

SELECT 'c''est'';

ou

SELECT E'c\'est';

sont les deux seules façons correctes de procéder en SQL (le 2nd étant spécifique à postgres). Il est dommage que des formations indiquent le contraire hmm

Hors ligne

Pied de page des forums