[SQL] Norme pour les apostrophes

Norme pour les apostrophes [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 20-01-2007 à 20:14:04    

Bonjour,
 
Je me posais une question. Je cherche à faire un site respectueux des normes et regles.
 
Pour cela je me posais une question, à savoir si dans les champs de type texte (varchar, text, etc...) on stoquait les apostrophes seuls, ou bien avec l'inhibiteur devant.
 
Par exemple pour la valeur Chateau d'eau, doit-on enregistrer :
 
chateau d'eau
 
ou bien encore :
 
chateau d\'eau
 
 
Car en premier lieu j'aurai pensé qu'il ne fallait pas stocker les \ (pour faciliter la recherche d'information) mais ca bug trop souvent, donc j'en arrive à me poser la question.
 
Cordialement,
 
alexandre

Reply

Marsh Posté le 20-01-2007 à 20:14:04   

Reply

Marsh Posté le 20-01-2007 à 20:58:37    

L'antislash est une solution qui convient pour certaines bases de données, mais je crois que la norme est le doublement de l'apostrophe, par exemple

Insert into Table1 (Colonne1) Values ('Aujourd''hui');

Le résultat est le stockage d'une seule apostrophe.

Reply

Marsh Posté le 21-01-2007 à 10:19:51    

Okay, merci, personne d'autre pour preciser ?

Reply

Marsh Posté le 21-01-2007 à 10:52:12    

non pas d'accord. On stocke que ce qui est nécèssaire en DB.  
Maintenant la façon dont on envoie l'infos, et de la façon dont on l'a récupére dépend bien entendu de l'SGBD .
Entre autre, si on voulait enregistré des infos dans une db SQL SERVER en C#, on utiliserait les SQLParameter pour justement palier à ce problème de doublement d'appostrophe. Il se chargerait donc de ne pas rendre la requête invalide.

Reply

Marsh Posté le 21-01-2007 à 11:12:09    

olivthill a écrit :

L'antislash est une solution qui convient pour certaines bases de données, mais je crois que la norme est le doublement de l'apostrophe, par exemple

Insert into Table1 (Colonne1) Values ('Aujourd''hui');

Le résultat est le stockage d'une seule apostrophe.


+1

Reply

Marsh Posté le 22-01-2007 à 16:38:24    

'' : Norme SQL, qui est aussi utilisée par .NET avec le préfixe @.
\' : Norme ANSI, qui est aussi utilisée par la plupart des langages.
 
Moi > Dans tous les cas, la norme SQL (donc '') doit être acceptée. ANSI peut être ajoutée si les dev du SGBD en éprouvent le besoin.
 
A noter que % doit subir le même sort que ' dans un LIKE et uniquement dans un LIKE : "%%" pour rechercher "%".
 
Dans les autres cas, le SGBD soit traîter %% comme deux %. (c'est supaïr pratique :D)


Message édité par MagicBuzz le 22-01-2007 à 16:39:24
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed