2011-09-17 44 views
5

Tôi đã đọc article sau đây. Họ đã trích dẫn rằng,Tên bảng có phân biệt chữ hoa chữ thường không?

Máy chủ SQL là ứng dụng trả về phân biệt chữ hoa chữ thường. Điều này có nghĩa là bảng có tên "addr" được phân biệt với bảng có tên "ADDR". Tuy nhiên, vì Microsoft Query là một ứng dụng dựa trên MS-DOS, nó là không thể phân biệt các trường hợp; do đó, các truy vấn Microsoft xem "addr" và "ADDR" dưới dạng tệp tương tự.

Bây giờ tôi muốn biết ý nghĩa của chúng bằng case-sensitive back-end application? Có an toàn không khi sử dụng query với case-insensitivity?

Xin cảm ơn trước.

+6

Nó phụ thuộc vào collation mặc định của cơ sở dữ liệu cho dù tên đối tượng được coi là trường hợp nhạy cảm hay không. Tài liệu đó rất cũ BTW! –

+4

Để an toàn, bạn nên luôn sử dụng đúng trường hợp cho tên đối tượng và cột. Bạn không bao giờ biết khi nào mã của bạn hoặc cơ sở dữ liệu của bạn sẽ được thay đổi hoặc di chuyển đến một collation phân biệt chữ hoa chữ thường. Trong thực tế, tôi thường ủng hộ việc phát triển dựa trên sự đối chiếu phân biệt chữ hoa chữ thường để giúp ngăn ngừa các lỗi có thể ngăn ngừa được sau này. –

+0

Bài viết đó rất cũ (thông tin là từ khoảng năm 1995) và hiện không chính xác. – gbn

Trả lời

8

Máy chủ SQL có đối chiếu mặc định sẽ trả lại cho bạn kết quả tương tự, bất kể bạn sử dụng truy vấn nào cho trường hợp nào.

Collation thể được thiết lập ở các cấp độ khác nhau

  1. server
  2. Cơ sở dữ liệu
  3. Cột

Để biết thêm thông có thể được phát hiện ra here

Vui lòng kiểm tra Áp dụng Để phần của bài viết bạn được tham chiếu. Bài viết KB áp dụng cho sản phẩm của Microsoft mà chúng không còn cung cấp bất kỳ hỗ trợ nào.

+0

Khá không liên quan dựa trên bài viết KB được trích dẫn, xin lỗi – gbn

+0

Tôi đã chỉnh sửa câu trả lời của mình. Tôi hy vọng bây giờ nó rõ ràng :) –

Các vấn đề liên quan