ไม่มีความแตกต่างในฟังก์ชันการทำงานพื้นฐานของ aliasing สองประเภท ( as
ตรงข้ามกับ=
) สิ่งที่ควรคำนึงถึงคือสิ่งที่คุณพูดถึง: ความสามารถในการอ่านและการบำรุงรักษา
ในความคิดของฉันอดีต ( <Expression> as <Alias>
) สามารถอ่านได้มากขึ้นเพราะมันเป็นคำอธิบายตัวเอง เมื่อคุณมีSELECT ColumnName = 1
ฉันคิดว่ามันคงจะง่ายที่จะเข้าใจผิดว่าเป็นการตั้งค่าตัวแปรในคืนที่เหนื่อยล้า คุณอาจเข้าใจผิดว่าเป็นSELECT @ColumnName = 1
และนั่นจะเป็นการทำงานที่แตกต่างอย่างสิ้นเชิง ดังนั้นเพื่อหลีกเลี่ยงความเป็นไปได้ของข้อความค้นหา "double double" หรือแย่กว่านั้น ... ข้อผิดพลาดในการทำความเข้าใจ / การเขียนโค้ดฉันไปด้วยSELECT 1 as ColumnName
100% ของเวลา
ความชอบส่วนบุคคล แต่ความสอดคล้อง (สำหรับตัวเองและอยู่ในทีมของคุณ) เป็นกษัตริย์ สิ่งที่คุณหาได้ง่ายที่สุดไปกับและทำมันตลอดเวลา ไม่มีอะไรน่าผิดหวังไปกว่าการสลับไปมาสำหรับการแก้ไขปัญหา / การตรวจสอบ / การบำรุงรักษาโค้ดของใครบางคน
<Expression> <Alias>
วิธีที่ไม่ได้กล่าวถึงที่สามคือการใช้งาน ในคำอื่น ๆ วิธีที่สองของคุณไม่มีas
คำหลัก ฉันคิดว่ามันแย่เหมือน=
สัญลักษณ์ มันขาดความสามารถในการอ่านที่ได้รับจากอะไร ไม่พิมพ์อักขระพิเศษสามตัว ( as
และเว้นวรรค) ไม่คุ้มค่า
เพื่อวัตถุประสงค์ในการพูดเกินจริงลองดูที่แบบสอบถามเช่นนี้:
use AdventureWorks2012;
go
select
[New Name] = Name,
NewDepId = DepartmentID,
GroupName as GName,
ModifiedDate MyModDate
from HumanResources.Department;
ไม่ใช่รหัสที่ฉันต้องการตรวจสอบ