2014-09-26 15 views
12

Ottengo molte informazioni di database dai client in fogli di calcolo Excel. Ho spesso bisogno di inserire/aggiornare questi dati nel database.Citazioni di escape o apostrofi di Excel in valori di cella

Spesso uso Excel per generare l'inserimento e aggiornare le istruzioni concatenando un insieme di celle. A volte i dati includono celle di testo che possono contenere citazioni singole. Se non trattata con attenzione, queste virgolette singole interromperanno le istruzioni SQL.

Come posso evitare le virgolette singole nei dati di testo, tramite le formule, quando concatenando un gruppo di valori di cella insieme, in modo che i miei script SQL risultanti siano validi?

+0

Ho gettato questo qui perché continuo a dimenticare (anche se probabilmente non lo farò, ora. ..) e non potrà mai trovare la risposta rapidamente. – Mir

+0

Correlati: Se stai cercando di fare la sostituzione con VBA, questa domanda potrebbe aiutarti. http://stackoverflow.com/questions/17430938/excel-escaping-single-and-double-quotes – Mir

+1

Trova/Sostituisci non funziona/adatto? – pnuts

risposta

18

La soluzione migliore che ho trovato è quello di utilizzare il seguente:

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

Questo sostituirà tutti i singoli apici con due apici, che, in istruzioni T-SQL sfugge al carattere e lo tratta come dati di stringa.

+1

Lascio una guida alle traduzioni di funzioni: http://dolf.trieschnigg.nl/excel/index.php – joseantgv

-1

L'utilizzo di CONCATENATE con doppi apici richiede semplicemente di sfuggire alla citazione. Quello è fatto come segue: = CONCATENATE ("" "" "tra virgolette!", "" "")