Они точно такие же в вашем примере. Из документации :
Каждый объект базы данных имеет имя. В операторе SQL вы представляете имя объекта с заключенным в кавычки идентификатором или без кавычки идентификатором .
Заключенный в кавычки идентификатор начинается и заканчивается двойными кавычками ("). Если вы называете объект схемы, используя заключенный в кавычки идентификатор, то вы должны использовать двойные кавычки всякий раз, когда ссылаетесь на этот объект. [ 1119]
Идентификатор без кавычек не заключен в знаки препинания.
Вы можете использовать идентификаторы в кавычках или без кавычек для именования любого объекта базы данных ...
blockquote>и
Идентификаторы без кавычек не чувствительны к регистру. Oracle интерпретирует их как прописные. Идентификаторы в кавычках чувствительны к регистру.
blockquote>Итак ,
ORDER_NO
не заключено в кавычки и не учитывает регистр, и Oracle обрабатывает имя как заглавные - так эффективно, когда он ищет в словаре данных соответствующее имя столбца (в представленииall_tab_columns
), он ищет точное строковое значение'ORDER_NO'
. Это также относится к случаю, если вы не заключили в кавычкиorder_no
илиOrder_No
, или к любому другому сочетанию падежей, потому что Oracle без кавычек все еще рассматривает его как верхний case и ищет внутри'ORDER_NO'
.
"ORDER_NO"
в кавычках, так что он чувствителен к регистру, но, так как он в любом случае в верхнем регистре, не имеет значения. Oracle все еще ищет столбец в словаре данных под названием'ORDER_NO'
.Если фактический идентификатор объекта (например, имя столбца) находится в верхнем регистре в словаре данных, то не имеет значения, если вы предоставите его в качестве не заключенного в кавычки идентификатора в любом случае или в качестве заключенного в кавычки идентификатора в верхнем регистре.
Что вы не можете сделать, это использовать кавычки и другой регистр.
"ORDER_NO"
хорошо;"order_no"
или"Order_No"
, или любой другой процитированный смешанный регистр не будет соответствовать тому, что есть в словаре данных.Хотя вы можете создавать объекты с указанными в кавычках идентификаторами, которые не в верхнем регистре (или которые включают или начинаются с иным образом недопустимых символов, как показано в правилах, перечисленных в этой документации), обычно это считается плохой идеей для вас тогда всегда должны использовать кавычки и точно такой же случай. И в документации также отмечается:
Oracle не рекомендует использовать заключенные в кавычки идентификаторы для имен объектов базы данных. Эти указанные в кавычках идентификаторы принимаются SQL * Plus, но они могут быть недействительными при использовании других инструментов, управляющих объектами базы данных.
BLOCKQUOTE>
var reqParam = URLDecoder.decode(reqParam, "UTF-8")