Đặt dấu ngoặc kép xung quanh một số nhận dạng trong Oracle khiến Oracle coi số nhận dạng đó là phân biệt chữ hoa chữ thường thay vì sử dụng mặc định là phân biệt chữ hoa chữ thường. Nếu bạn tạo một bảng (hoặc một cột) có dấu ngoặc kép xung quanh tên, bạn phải luôn tham chiếu đến số nhận dạng có dấu ngoặc kép và bằng cách chỉ định chính xác trường hợp (ngoại trừ tất cả các từ định danh viết hoa, trong đó dấu ngoặc kép là vô nghĩa ).
Về cơ bản, Oracle luôn thực hiện đối sánh mã định danh phân biệt chữ hoa chữ thường. Nhưng nó luôn chuyển các số nhận dạng không được trích dẫn kép thành chữ hoa trước khi thực hiện đối sánh. Nếu bạn đặt dấu ngoặc kép xung quanh một số nhận dạng, Oracle sẽ bỏ qua việc truyền sang chữ hoa.
Vì vậy, nếu bạn làm điều gì đó như
CREATE TABLE my_table(
col1 number,
col2 number
)
bạn có thể
SELECT * FROM my_table
SELECT * FROM MY_TABLE
SELECT * FROM My_Table
SELECT * FROM "MY_TABLE"
nhưng một cái gì đó giống như
SELECT * FROM "my_table"
sẽ thất bại.
Mặt khác, nếu bạn làm điều gì đó như
CREATE TABLE "my_other_table"(
col1 number,
col2 number
)
bạn không thể làm
SELECT * FROM my_other_table
SELECT * FROM MY_OTHER_TABLE
SELECT * FROM My_Other_Table
SELECT * FROM "MY_OTHER_TABLE"
nhưng cái này
SELECT * FROM "my_other_table"
sẽ hoạt động