MySQL Tip.รัน Query ให้แสดงภาษาไทยโดยใช้ SUBSTRING สำหรับมือใหม่
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 แบบบ้านๆ ก็ลองเอาไปปรับใช้งานดูนะครับ
– จะทยอยตอบคำถามให้นะครับ
– ขอบคุณที่ติดตาม แล้วพบกันใหม่ครับ