Excel экранирование кавычек или Апостроф в значениях ячеек

Я получаю много информации о базе данных от клиентов в электронных таблицах excel. Мне часто нужно вставлять / обновлять эти данные обратно в базу данных.

Я часто использую excel для создания инструкций insert и update путем объединения группы ячеек вместе. Иногда данные включают текстовые ячейки, в которых могут быть одинарные кавычки. Если не обращаться с ними осторожно, эти одинарные кавычки сделают операторы SQL разрывными.

Как я могу избежать одинарных кавычек в тексте данные через формулы при объединении группы значений ячеек вместе, чтобы мои результирующие сценарии SQL были действительны?

2 ответов


лучшее решение, которое я нашел, - использовать следующее:

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

это заменит все одинарные кавычки двумя одинарными кавычками, которые в операторах T-SQL избегают символа и рассматривают его как строковые данные.


используя CONCATENATE с двойными кавычками просто требует экранирования цитаты. Это делается следующим образом:

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