web-dev-qa-db-fra.com

Excel des guillemets ou des apostrophes d'échappement dans les valeurs de cellules

Je reçois beaucoup d'informations sur les bases de données auprès des clients dans des feuilles de calcul Excel. J'ai souvent besoin d'insérer/mettre à jour ces données dans la base de données. 

J'utilise souvent Excel pour générer l'insertion et la mise à jour des déclarations via la concaténation de plusieurs cellules. Parfois, les données incluent des cellules de texte pouvant contenir des guillemets simples. S'ils ne sont pas traités avec soin, ces guillemets simples feront en sorte que les instructions SQL soient rompues.

Comment puis-je échapper aux guillemets simples dans les données texte, via des formules, lors de la concaténation d'un ensemble de valeurs de cellules, afin que les scripts SQL résultants soient valides?

15
Mir

La meilleure solution que j'ai trouvée consiste à utiliser les éléments suivants:

=SUBSTITUTE(A1, "'", "''")

Cela remplacera tous les guillemets simples par deux guillemets simples qui, dans les instructions T-SQL, échappent au caractère et le traitent comme des données de chaîne.

23
Mir

L'utilisation de CONCATENATE avec des guillemets doubles nécessite simplement d'échapper à la citation. Cela se fait comme suit:

=CONCATENATE("""";"In quotes!";"""")
0
user4669140