AT TIME ZONE
ดูเหมือนว่าSQL Server 2016 จะเป็น nondeterministic อย่างไรก็ตามฉันไม่สามารถค้นหาเอกสารอย่างเป็นทางการที่ระบุสิ่งนี้หรือให้เหตุผลเกี่ยวกับเหตุผลที่อยู่เบื้องหลัง
ทำไมต้องเป็นAT TIME ZONE
nondeterministic
ตัวอย่างที่แสดงให้เห็นถึงความไม่มุ่งมั่น
การดำเนินการ:
CREATE TABLE Test (
LegacyTimestamp DATETIME,
Timestamp AS LegacyTimestamp AT TIME ZONE 'Eastern Standard Time' PERSISTED
);
ส่งคืนข้อผิดพลาดต่อไปนี้:
Msg 4936, Level 16, State 1, Line 1
Computed column 'Timestamp' in table 'Test' cannot be persisted because the column is non-deterministic.