คำถามติดแท็ก datetime2

7
วิธีรวมวันที่และเวลาเข้ากับ datetime2 ใน SQL Server
รับส่วนประกอบดังนี้ DECLARE @D DATE = '2013-10-13' DECLARE @T TIME(7) = '23:59:59.9999999' วิธีที่ดีที่สุดในการรวมพวกเขาเพื่อสร้างDATETIME2(7)ผลลัพธ์ที่มีค่า'2013-10-13 23:59:59.9999999'คืออะไร? บางสิ่งที่ไม่ทำงานแสดงอยู่ด้านล่าง SELECT @D + @T วันที่ตัวดำเนินการชนิดข้อมูลไม่ถูกต้องสำหรับตัวดำเนินการเพิ่ม SELECT CAST(@D AS DATETIME2(7)) + @T ตัวถูกดำเนินการชนิดข้อมูล datetime2 ไม่ถูกต้องสำหรับตัวดำเนินการเพิ่ม SELECT DATEADD(NANOSECOND,DATEDIFF(NANOSECOND,CAST('00:00:00.0000000' AS TIME),@T),@D) ฟังก์ชั่น Dateiff ส่งผลให้เกิดการล้น จำนวนของส่วนของวันที่ที่แยกอินสแตนซ์วันที่ / เวลาสองรายการมีขนาดใหญ่เกินไป ลองใช้ Dateiff ด้วยส่วนที่แม่นยำน้อยกว่า * ล้นสามารถหลีกเลี่ยงได้ในฐานข้อมูล SQL Azure และ SQL Server 2016 DATEDIFF_BIGโดยใช้ …

1
datetime2 (0) vs datetime2 (2)
ตามเอกสารdatetime2 (Transact-SQL) : ขนาดหน่วยเก็บข้อมูล 6 ไบต์สำหรับ precisions น้อยกว่า 3 7 ไบต์สำหรับ precensions 3 และ 4 ข้อกำหนด อื่น ๆ ทั้งหมดต้องการ 8 ไบต์ ขนาดของdatetime2(0), datetime2(1), datetime2(2)ใช้เงินเดียวกันของการจัดเก็บ (6 bytes) ฉันจะถูกต้องหรือไม่ในการบอกว่าฉันอาจไปด้วยdatetime2(2)และได้รับประโยชน์จากความแม่นยำโดยไม่มีค่าใช้จ่ายเพิ่มเติม โปรดทราบ: คอลัมน์นี้ถูกทำดัชนีด้วย PK เพื่อจัดทำดัชนีแบบคลัสเตอร์ผสม (ใช้สำหรับการแบ่งตาราง) ฉันไม่สนใจเกี่ยวกับมิลลิวินาที จะdatetime2(0)เป็นซีพียูที่มีประสิทธิภาพเมื่อใช้ในประโยคหรือเมื่อแสวงหาผ่านดัชนี? นี่เป็นตารางขนาดใหญ่ดังนั้นการเพิ่มประสิทธิภาพขนาดเล็กที่สุดจะสร้างความแตกต่างอย่างมาก
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.