Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ฟังก์ชันคล้าย TRUNC(SYSDATE) ของ Oracle ใน MySQL

ใช้ DATE() หรือ CURDATE() ใน MySQL

  • DATE(datetime) - ดึงเฉพาะส่วนวันที่
  • CURDATE() - วันที่ปัจจุบัน (ไม่มีเวลา)

ตัวอย่างวันที่ปัจจุบัน

mysql> select curdate(); 
+------------+ 
| curdate()  | 
+------------+ 
| 2019-10-20 | 
+------------+ 
1 row in set (0.00 sec)

สร้างตารางและเพิ่มข้อมูล datetime

mysql> create table DemoTable1613 ( PostingDate datetime ); 
Query OK, 0 rows affected (0.48 sec)
mysql> insert into DemoTable1613 values('2019-10-20 12:02:45'); 
Query OK, 1 row affected (0.20 sec) 
mysql> insert into DemoTable1613 values('2018-10-20 12:02:45'); 
Query OK, 1 row affected (0.16 sec) 
mysql> insert into DemoTable1613 values('2015-10-20 12:02:45'); 
Query OK, 1 row affected (0.12 sec) 
mysql> insert into DemoTable1613 values('2019-10-20 10:00:00'); 
Query OK, 1 row affected (0.22 sec)

คิวรี่หาเรคคอร์ดของวันนี้ (ตัดเวลาออก)

mysql> select * from DemoTable1613 where date(PostingDate)=curdate();

ผลลัพธ์

+---------------------+ 
| PostingDate         | 
+---------------------+ 
| 2019-10-20 12:02:45 | 
| 2019-10-20 10:00:00 | 
+---------------------+ 
2 rows in set (0.00 sec)

เทียบเท่า Oracle: TRUNC(SYSDATE) → MySQL: CURDATE() หรือ DATE(NOW())