SQL Server All about DataTime data type

Function GETDATE() AND SYSTEMDATETIME() GETDATE แสดงข้อมูลระดับ miliseconds SYSDATETIME แสดงข้อมูลระดับ nanoseconds. ::select GETDATE() >> “2013-11-14 10:25:24.337” ::select SYSDATETIME() >> “2013-11-14 10:26:14.4002569” การเปรียบเทียบ DataTime data column จะมีปัญหาให้ปวดหัวทุกที่จะทำอย่างไร ถึงจะสะดวกและ Performance ดีที่สุด ตัวอย่างทางเลือกที่ผมใช้งานครับ Convert ให้เป็น INT ไปเลยครับ ดังตัวอย่างนี้ครับ cast(convert(char(8), d.DocCreateDate, 112) as int) between 20130601 and 20131031 GETDATE สามารบวก ลบ วันได้ ::select GETDATE() + 10 >> เป็นการดึงวันที่ปัจจุบันแล้วบวกไปอีก 10 วัน … Read more

Magic table for trigger in SQL Server

ใน SQL Server ในการ insert ,Update and delete ข้อมูลต่างๆที่เกิดขึ้นจะถูกเก็บไว้ใน magic table อยู่ 2 table คือ inserted,deleted tables inserted table จะเก็บข้อมูล recordที่ถูกดำเนินการ และจะเก็บข้อมุลหลังจากการ Update เสร็จสิ้น Deleted table จะเก็บข้อมูล record ที่มีการลบไปล่าสุดและเก็บข้อมุลเก่าก่อนการ Update Record ไว้ ในการเขียน Trigger สำหรับ table ใน SQL Server สำหรับการ Insert,delete จะไม่มีปัญหาอะไรดึงข้อมูล มาตรวจสอบจาก 2 table นั้นโดยตรง แต่ถ้าเป็นการ Update ก็จะต้องเลือกให้ดีว่าจะเอาข้อมูลอะไร ก่อนหรือหลังการ Update มาเก็บเป็น log นะครับ ตัวอย่างครับ … Read more