[MySQL] หาวันสุดท้ายของเดือนนี้ และหาว่าปีนี้มีกี่วัน
มาเริ่มที่ตัวแรกก่อนเลยครับ หาวันสุดท้ายของเดือนนี้
เริ่มต้นมาจาก ใน php มันจะมีฟังก์ชั่นนี้ครับ date('t') มันจะบอกเราว่าเดือนนี้จะลงท้ายด้วยอะไร 28, 30 หรือ 31 อะไรก็ว่าไป แล้วใน MySQL ล่ะ
มันไม่มีครับพี่น้อง... เลยต้องคำนวณเอาเอง เลยได้มาเป็นแบบนี้ครับ
DATE_FORMAT(LAST_DAY(NOW()), '%e')
ตัวอย่างในการใช้งานเช่น
SELECT DATE_FORMAT(LAST_DAY(NOW()), '%e') AS `lastday` FROM `xxx`;
แบบนี้เป็นต้นครับ
มันก็จะได้ค่าออกมาประมาณนี้
+-----------+
| lastday |
+-----------+
| 31 |
+-----------+
ส่วนอีกตัวหนึ่งก็คือหาว่าปีนี้มีอยู่กี่วัน 365 หรือ 366
ไม่น่าจะยากเท่าไรนะครับ ก็คือเอาวันนี้ที่ถูกบวกเพิ่มไปอีก 1 ปีข้างหน้ามาลบด้วยวันนี้ (คงไม่ต้องยกตัวอย่างแล้วมั้ง)
+-----------+
| lastday |
+-----------+
| 31 |
+-----------+
ส่วนอีกตัวหนึ่งก็คือหาว่าปีนี้มีอยู่กี่วัน 365 หรือ 366
DATEDIFF((NOW() + INTERVAL 1 YEAR), NOW())
หวังว่าจะเป็นแนวทางให้ได้ไม่มากก็น้อยนะครับ
Comments
Post a Comment