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

 3,279 total views,  2 views today

MySQL Tip.รัน Query ให้แสดงภาษาไทยโดยใช้ SUBSTRING สำหรับมือใหม่

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

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