SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE FUNCTION [dbo].[udf_GetNumDaysInMonth] ( @myDateTime DATETIME )RETURNS INTASBEGINDECLARE @rtDate INTSET @rtDate =CASE WHEN MONTH(@myDateTime)IN (1,3, 5, 7, 8, 10, 12) THEN 31WHEN MONTH(@myDateTime) IN (4, 6, 9, 11) THEN 30ELSE CASE WHEN (YEAR(@myDateTime) % 4 = 0ANDYEAR(@myDateTime) % 100 != 0)OR(YEAR(@myDateTime) % 400 = 0)THEN 29ELSE 28 ENDENDRETURN @rtDateEND
Câu lệnh truy vấn
---------Date format: dd/mm/yyyy ------------------- In hiển thịprint dbo.udf_GetNumDaysInMonth ('3/10/2012')---- Select trả về kết quảSELECT dbo.udf_GetNumDaysInMonth ('3/10/2012')
======> Trả về kết quả 31 ngày
0 nhận xét:
Speak up your mind
Tell us what you're thinking... !