วิธีการที่จะทราบว่าเดือนๆนั้นมีทั้งหมดกี่วัน ให้เอาเดือนถัดไปมาลบหนึ่งวันนะครับ ลองดูนะครับ
SELECT DATEPART(day, DATEADD(day, -1, CAST('01-Jan-2009' as DATETIME))) AS dayofmonthsแต่ถ้าหากว่า ไม่สามารถที่จะเริ่มต้นแปลงข้อมูลเป็นวันที่ หนึ่งได้ เสมอ ก็สามารถทำได้อีกวิธีกนะครับ
SELECT DATEPART(DAY, DATEADD(DAY, -1, DATEADD(MONTH, 1, CAST('01-' + dbo.Date_Format(CAST('27-Jul-09' AS DATETIME), 'mmm-yy') AS DATETIME))))