Devdit
 

คำสั่ง SQL convert datetime เป็น พ.ศ.

7.2K

สอนเขียนคำสั่ง 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

แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ