MySQL Tip.  วันนี้มาตอบคำถามสมาชิกถามมาครับ  ต้องการรัน query ให้เป็น วันเดือนปี ภาษาไทยเลย

– ก็ทำไว้นานแล้ว เอามาแชร์อีกทีนะครับ  เป็น query แบบบ้านๆ ครับ
– ผลลัพธ์ที่ได้คือ  วันที่ เดือนภาษาไทย และปี พ.ศ. ไทย

– โดยโค้ดทั้งหมดจะได้ออกมาแบบนี้ครับ
*******
select
day(vstdate)as dd,
SUBSTR(SUBSTRING_INDEX(‘ม.ค.|ก.พ.|มี.ค.|เม.ย.|พ.ค.|มิ.ย.|ก.ค.|ส.ค.|ก.ย.|ต.ค.|พ.ย.|ธ.ค.’, ‘|’, month(vstdate)),-4,4) as mmmm,
year(vstdate)+543 as yyyy,
concat(day(vstdate),” “,
SUBSTR(SUBSTRING_INDEX(‘ม.ค.|ก.พ.|มี.ค.|เม.ย.|พ.ค.|มิ.ย.|ก.ค.|ส.ค.|ก.ย.|ต.ค.|พ.ย.|ธ.ค.’, ‘|’, month(vstdate)),-4,4),” “,
year(vstdate)+543
)as dd_mmmm_yyyy,
month(vstdate)as month_th,
vstdate,count(*)
from vn_stat
where vstdate=curdate()
*******

– โดยผมใช้ SUBSTRING_INDEX ช่วยแยก index แต่ละตัว เหมือนการทำ array นั้นเองครับ
– และเอา SUBSTR()  มาแยกเอาเฉพาะ index ตัวสุดท้ายนั้นเอง

– แบบบ้านๆ โดยเราจะเอาค่าที่ได้ของ  month(vstdate)  นั้นเอง  เอามาเป็นต้นค้นหาครับ
– แบบแยกฟิวล์

– แล้วเราค่อยรวมฟิวล์ด้วย CONCAT() ถึงจะได้สมบูรณ์ นำไปใช้งานได้เลย

– ก็เป็น Tip แบบบ้านๆ ก็ลองเอาไปปรับใช้งานดูนะครับ
– จะทยอยตอบคำถามให้นะครับ
– ขอบคุณที่ติดตาม แล้วพบกันใหม่ครับ

Loading

You May Also Like

More From Author

+ There are no comments

Add yours

This site uses Akismet to reduce spam. Learn how your comment data is processed.