สอนเขียนคำสั่ง SQL convert datetime เป็น พ.ศ. บทความนี้แนะนำการแปลงข้อมูล วันที่เวลา หรือ datetime จากปี ค.ศ. เป็นปี พ.ศ. โดยข้อมูล datetime จะดึงมาจากวันที่ปัจจุบันด้วยคำสั่ง NOW() สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง คำสั่ง SQL convert datetime เป็น พ.ศ.
SELECT NOW() AS DATETIME_AD, CONCAT( CONVERT(YEAR(NOW()), INT)+543, DATE_FORMAT(NOW(), "-%m-%d %H:%i:%s")) AS DATETIME_BE;
ผลลัพธ์
+---------------------+---------------------+
| DATETIME_AD | DATETIME_BE |
+---------------------+---------------------+
| 2022-03-13 16:15:52 | 2565-03-13 16:15:52 |
+---------------------+---------------------+
1 row in set (0.000 sec)
1. SQL convert datetime เป็น พ.ศ. จากผลลัพธ์แสดงให้เห็นว่า column DATETIME_AD คือ datetime แบบ ค.ศ. และ column DATETIME_BE คือ datetime แบบ พ.ศ.
2. ส่วนของปี ใช้คำสั่ง CONVERT(YEAR(NOW()), INT)+543 ดึง datetime ออกมาด้วย NOW และดึงเฉพาะปีด้วย YEAR จากนั้นแปลงเป็นตัวเลขด้วย CONVERT และนำไป +543
3. ส่วนของเดือน-วัน และเวลา ใช้คำสั่ง DATE_FORMAT(NOW(), "-%m-%d %H:%i:%s") เพื่อดึง datetime ด้วยคำสั่ง NOW และจัดรูปแบบการแสดงผล โดยไม่แสดงข้อมูลปี (%Y) โดยใช้คำสั่ง DATE_FORMAT
4. นำผลลัพธ์ของส่วน ข้อ 2. และ ข้อ 3. มารวมกันด้วยคำสั่ง CONCAT และตั้งชื่อใหม่เป็น DATETIME_BE