#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-символа, такого как %_%
или %%%
и т.д. Для '
(одинарная кавычка) если вы хотите экранировать любую одинарную кавычку в вашем запросе, просто добавьте перед ней другую одинарную кавычку.
НАДЕЮСЬ, ЭТО ПОМОЖЕТ…