Theo mặc định, số nhận dạng Oracle (tên bảng, tên cột, v.v.) là chữ hoa-thường không phân biệt . Bạn có thể phân biệt chữ hoa chữ thường bằng cách sử dụng dấu ngoặc kép xung quanh chúng (ví dụ:SELECT * FROM "My_Table" WHERE "my_field" = 1
). Từ khóa SQL (SELECT
, WHERE
, JOIN
, v.v.) luôn không phân biệt chữ hoa chữ thường.
Mặt khác, so sánh chuỗi có phân biệt chữ hoa chữ thường (ví dụ:WHERE field='STRING'
sẽ chỉ khớp với các cột có 'STRING'
) theo mặc định. Bạn có thể phân biệt chữ hoa chữ thường bằng cách đặt NLS_COMP
và NLS_SORT
thành các giá trị thích hợp (ví dụ:LINGUISTIC
và BINARY_CI
tương ứng).
Lưu ý:Khi yêu cầu các chế độ xem từ điển dữ liệu (ví dụ:
dba_tables
) tên sẽ ở dạng chữ hoa nếu bạn tạo chúng mà không có dấu ngoặc kép và các quy tắc so sánh chuỗi như được giải thích trong đoạn thứ hai sẽ áp dụng tại đây.
Một số cơ sở dữ liệu (Oracle, IBM DB2, PostgreSQL, v.v.) sẽ thực hiện so sánh chuỗi phân biệt chữ hoa chữ thường theo mặc định, một số cơ sở dữ liệu khác phân biệt chữ hoa chữ thường (SQL Server, MySQL, SQLite). Điều này không phải là tiêu chuẩn theo bất kỳ phương tiện nào, vì vậy chỉ cần lưu ý cài đặt db của bạn là gì.