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โดยใช้ …