Замените одинарные кавычки в SQL Server

Это было бы сделано по требованию, возможное несколько раз в день. Путем я видел бы, что это работать как в http://sqlite.1065341.n5.nabble.com/Attempting-to-merge-large-databases-td39548.html , где базы данных объединяются в большой DB, выполненный запрос и затем большая удаленная база данных.

45
задан Peter Mortensen 25 January 2016 в 14:49
поделиться

7 ответов

Вам нужно удвоить одинарные кавычки следующим образом:

REPLACE(@strip, '''', '')
100
ответ дан 26 November 2019 в 20:50
поделиться

Попробуйте REPLACE (@strip, '' '', '')

SQL использует две кавычки для представления одной в строке.

25
ответ дан 26 November 2019 в 20:50
поделиться

Если вам действительно нужно полностью исключить одинарные кавычки, вы можете сделать это:

Replace(@strip, '''', '')

Однако обычно вы заменяете «на», и это сделает SQL Server счастливым при запросе базы данных. . Уловка с любой из встроенных функций SQL (например, replace) заключается в том, что они тоже требуют от вас удвоения одинарных кавычек.

Итак, чтобы заменить "на" в коде, вы должны сделать следующее:

Replace(@strip, '''', '''''')

Of конечно ... в некоторых ситуациях вы можете полностью избежать этого, если используете параметры при запросе базы данных. Предположим, вы запрашиваете базу данных из приложения .NET, тогда вы использовали бы класс SqlParameter для передачи параметров SqlCommand для запроса, и все эти операции с одиночными кавычками будут выполнены автоматически.

18
ответ дан 26 November 2019 в 20:50
поделиться

Похоже, вы пытаетесь дублировать функцию QUOTENAME . Эта встроенная функция может использоваться для добавления разделителей и правильного экранирования разделителей внутри строк и распознает как одиночные ', так и двойные » кавычки в качестве разделителей, а также скобки [ и ] .

4
ответ дан 26 November 2019 в 20:50
поделиться

Попробуйте экранировать одинарные кавычки одинарными кавычками:

Replace(@strip, '''', '')
2
ответ дан 26 November 2019 в 20:50
поделиться

Чередование / замена / выравнивание одинарных кавычек из пользовательского ввода ( очистка ввода ) должно быть выполнено до того, как оператор SQL достигнет базы данных .

1
ответ дан 26 November 2019 в 20:50
поделиться

Помимо необходимости экранировать кавычки (используя двойные кавычки), вы также перепутали имена переменных: вы используете @var и @strip вместо @CleanString и @strStrip ...

0
ответ дан 26 November 2019 в 20:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: