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 ( astrá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 = 1tô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 = 1và đó 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 ColumnName100% 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ó astừ 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ụ ( asvà 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.