Извлечение строки в одинарных кавычках из базы данных

#sql #oracle #oracle11g

#sql #Oracle #oracle11g

Вопрос:

У меня есть поле ‘NAME’ в моей базе данных oracle 11g. Имя — это поле, содержащее строку в одинарных кавычках. Например, King’s Company. Когда я пытаюсь извлечь строки такого типа, генерируется ошибка «Строка запроса не обработана должным образом». Это может быть из-за одинарных кавычек (‘). Пожалуйста, помогите мне игнорировать эти символы и отображать строку в asp.net приложение.

Комментарии:

1. Покажите нам ввод и вывод, подготовьте скрипт ( CREATE TABLE T ...; INSERT INTO T ... ) или просто простой запрос с разделом WITH ( WITH t AS (SELECT ...) SELECT * FROM t... )

2. Попробуйте использовать ` before your кавычки`, чтобы сообщить базе данных, что ваше имя включено в это поле

Ответ №1:

Я создал временную таблицу и заполнил ее образцами данных: введите описание изображения здесь

Это будет запрос:

 select emp_id from temp where name='King''s Company';
  

Причиной этого является:
As ' (одинарная кавычка) уже имеет особое значение в oracle, а также ее нельзя вывести с помощью обычного escape-символа, такого как %_% или %%% и т.д. Для ' (одинарная кавычка) если вы хотите экранировать любую одинарную кавычку в вашем запросе, просто добавьте перед ней другую одинарную кавычку.

НАДЕЮСЬ, ЭТО ПОМОЖЕТ…