Không có sự khác biệt trong chức năng cơ bản của hai loại răng cưa ( as
trái ngược với =
). Những gì nó sôi nổi chính xác là những gì bạn đã đề cập: Khả năng đọc và bảo trì.
Theo ý kiến của tôi , cựu ( <Expression> as <Alias>
) dễ đọc hơn nhiều vì nó tự giải thích. Khi bạn có SELECT ColumnName = 1
tôi nghĩ sẽ rất dễ nhầm lẫn khi đặt một biến vào những đêm dài mệt mỏi. Bạn có thể nhầm lẫn rằng SELECT @ColumnName = 1
và đó sẽ là chức năng hoàn toàn khác nhau. Do đó, để tránh bất kỳ khả năng nào của truy vấn "nhìn hai lần", hoặc thậm chí tệ hơn ... lỗi trong cách hiểu / mã hóa, tôi đi với SELECT 1 as ColumnName
100% thời gian.
Sở thích cá nhân, nhưng tính nhất quán (cho bản thân và trong nhóm của bạn) là vua . Bất cứ điều gì bạn thấy dễ dàng nhất, hãy đi cùng và làm điều đó mọi lúc. Không có gì bực bội hơn việc chuyển đổi qua lại để ai đó khắc phục sự cố / xem xét / duy trì mã.
Cách không đề cập thứ ba là sử dụng <Expression> <Alias>
. Nói cách khác, cách thứ hai của bạn mà không có as
từ khóa. Tôi nghĩ rằng điều này cũng tệ như =
biểu tượng. Nó thiếu khả năng đọc ở mức tăng của những gì? Không gõ ba ký tự phụ ( as
và một khoảng trắng). Không đáng
Đối với mục đích phóng đại, hãy xem một truy vấn như thế này:
use AdventureWorks2012;
go
select
[New Name] = Name,
NewDepId = DepartmentID,
GroupName as GName,
ModifiedDate MyModDate
from HumanResources.Department;
Không phải mã mà tôi muốn xem lại.