2010-08-23 25 views
13

tôi đã thêm một trường trong máy chủ sql 2008 và nó đặt tên cột trong dấu ngoặc vuông như thế này [column2], nhưng các tên cột khác không có dấu ngoặc đơn. các dấu ngoặc có nghĩa là gì?máy chủ sql: dấu ngoặc có nghĩa gì xung quanh tên cột?

cột là [macro-writer]

tôi nên loại bỏ các dấu trừ và thay thế bằng dấu gạch dưới?

+0

cột là [macro-writer] –

+1

OP cho biết 'tôi nên xóa dấu trừ và thay thế bằng dấu gạch dưới'. Tôi sẽ, nếu chỉ như vậy tôi không phải sử dụng '[' và ']' ở khắp mọi nơi! –

Trả lời

12

Cột được đặt trong dấu ngoặc vuông thường là từ khóa hoặc chứa các ký tự đặc biệt hoặc dấu cách.

Tên cột cụ thể nào bạn đã đặt trong ngoặc?

+0

[macro-writer] [macro-writer] –

+2

Dấu gạch ngang được coi là ký tự đặc biệt. – Bernard

18

Chân đế là một dạng trích dẫn. Nó chỉ cần thiết nếu tên cột chứa dấu cách hoặc dấu chấm câu hoặc xung đột với một từ dành riêng, nhưng nhiều trình thuật sĩ sẽ chỉ thêm dấu ngoặc cho tất cả các tên trường để tránh logic để quyết định xem chúng có cần thiết hay không.

2

Chân đế cho phép bạn phân cách các tên trong SQL Server. Điều này cho phép bạn làm những việc như sử dụng từ khóa [đếm] hoặc bao gồm dấu cách [tên cột của tôi].

EDIT: Đối với câu hỏi tiếp theo của bạn, nếu đây là cột mới và không có nguy cơ vi phạm mã hiện tại, thì ít nhất tôi khuyên bạn nên thay thế dấu gạch ngang bằng dấu gạch dưới. Các tiêu chuẩn đặt tên riêng bên trong của chúng tôi là sử dụng PascalCase (ví dụ: MacroWriter) thay vì gạch dưới.

4

Chân đế cho phép bạn sử dụng ký tự và tên mà không được phép như không gian, những lời dè dặt và tên bắt đầu với số

không hợp lệ cột của tôi, 1column col% UMN, bảng

hợp lệ [ cột của tôi], [1column], [col% UMN], [table]

tất nhiên bây giờ bạn có thể trở thành thực sự sáng tạo :-)

create table [table]([table] varchar(20)) 

insert [table] values ('table') 

select [table] from [table] 
+0

bạn sẽ không bao giờ có một bảng có một kết hợp của tiếng do thái và phông chữ Thái –

+0

Vâng, tại sao không thử nó và xem cho chính mình;). Hoạt động trên SQL 2005, 2008 tạo bảng [แสดง בוקר ǣ] ( \t ID int không rỗng ) – StuartLC

+0

@StuartLC Nó cũng hoạt động mà không có dấu ngoặc đơn. – mbomb007

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