การคำนวณกับวันที่

SQL Server ระดับกลาง

Ginger Grant

Instructor

DATEPART

DATEPART ใช้ระบุส่วนของวันที่ที่ต้องการคำนวณ ตัวย่อที่ใช้บ่อย ได้แก่

  • DD สำหรับวัน
  • MM สำหรับเดือน
  • YY สำหรับปี
  • HH สำหรับชั่วโมง
SQL Server ระดับกลาง

ฟังก์ชันวันที่ที่ใช้บ่อยใน T-SQL

  • DATEADD(): บวกหรือลบค่าวันที่-เวลา
    • คืนค่าเป็นวันที่เสมอ
  • DATEDIFF(): หาผลต่างระหว่างค่าวันที่-เวลาสองค่า
    • คืนค่าเป็นตัวเลขเสมอ
SQL Server ระดับกลาง

DATEADD

ใช้ DATEADD() เพื่อบวกหรือลบค่าแล้วได้วันที่ใหม่

DATEADD (DATEPART, number, date) 
  • DATEPART: หน่วยของการวัด (DD, MM เป็นต้น)
  • number: จำนวนเต็มที่ต้องการบวก
  • date: ค่าวันที่-เวลา
SQL Server ระดับกลาง

การคำนวณวันที่ด้วย DATEADD (I)

30 วันหลังจากวันที่ 21 มิถุนายน 2020 คือวันที่เท่าไร?

SELECT DATEADD(DD, 30, '2020-06-21')
+-----------------------------+ 
|(No Column Name)             | 
|-----------------------------+ 
|2020-07-21 00:00             | 
+-----------------------------+
SQL Server ระดับกลาง

การคำนวณวันที่ด้วย DATEADD (II)

30 วันก่อนวันที่ 21 มิถุนายน 2020 คือวันที่เท่าไร?

SELECT DATEADD(DD, -30, '2020-06-21')
+-----------------------------+ 
|(No Column Name)             | 
|-----------------------------+ 
|2020-05-22 00:00             | 
+-----------------------------+
SQL Server ระดับกลาง

DATEDIFF

คืนค่าวันที่หลังจากบวกหรือลบจำนวนเข้ากับวันที่

DATEDIFF (datepart, startdate, enddate) 
  • datepart: หน่วยของการวัด (DD, MM เป็นต้น)
  • startdate: ค่าวันที่เริ่มต้น
  • enddate: ค่าวันที่-เวลาสิ้นสุด
SQL Server ระดับกลาง

การคำนวณวันที่ด้วย DATEDIFF

SELECT DATEDIFF(DD, '2020-05-22', '2020-06-21') AS Difference1,
       DATEDIFF(DD, '2020-07-21', '2020-06-21') AS Difference2
+--------------------+--------------------+ 
|Difference1         |Difference2         |
+--------------------+--------------------+
|30                  |-30                 |
+--------------------+--------------------+
SQL Server ระดับกลาง

มาฝึกกันเถอะ!

SQL Server ระดับกลาง

Preparing Video For Download...