`

如何获得当月的天数?

    博客分类:
  • sql
阅读更多

--方法一
DECLARE @month int, @year int
SELECT @month = 11, @year = 2008
SELECT DATEPART(dd,DATEADD(m,1,CAST(STR(@month) + '/01/' + STR(@year) as  datetime)) - 1)

--执行过程分析

SELECT STR(@month) + '/01/' + STR(@year) as  datetime--整型转化成字符串型

SELECT CAST(STR(@month) + '/01/' + STR(@year) as  datetime)--字符串转化成日期型

SELECT DATEADD(m,1,CAST(STR(@month) + '/01/' + STR(@year) as  datetime))--月份加1

SELECT DATEPART(dd,DATEADD(m,1,CAST(STR(@month) + '/01/' + STR(@year) as  datetime)) - 1)--最后天数再减1

--方法二
DECLARE @DATE DATETIME
SET @DATE = GETDATE()

SELECT CAST(
-- First day of next month
DATEADD(MONTH,DATEDIFF(MONTH,0,@DATE)+1,0)
-
-- First day of current month
DATEADD(MONTH,DATEDIFF(MONTH,0,@DATE),0)
AS INT )

 

--方法三
这个你也可以写一个UDF来实现:

create function fn_NumOfDaysInMon (@date datetime)
returns int
as
begin
declare @begmonth datetime,@endmonth datetime,@days int
select @begmonth=dateadd(month,datediff(month,0,@date),0)
select @endmonth=dateadd(dd,-datepart(dd,@date),dateadd(mm,1,@date))
select @days=datediff(dd,@begmonth,@endmonth)+1
return @days
end

--sql server中调用函数的方法
select dbo.fn_NumOfDaysInMon (getdate())

分享到:
评论

相关推荐

    根据年月得到当月的天数及日期

    以下是一些关于如何根据年月获取当月天数及日期的相关知识点: 1. **日期时间库**: 大多数编程语言都提供了内置的日期时间库,例如Python中的`datetime`模块,Java中的`java.time`包,JavaScript中的`Date`对象等...

    js获取年月日和当月的天数

    ### JavaScript 获取年月日及当月天数 在JavaScript中,日期对象提供了丰富的API来处理时间与日期。本文将详细介绍如何使用JavaScript获取当前日期的年、月、日以及当月的总天数。 #### 一、JavaScript日期对象...

    JS根据年月获得当月天数的实现代码

    下面,我们将详细探讨如何利用JavaScript编写一个根据年份和月份来获取当月天数的函数。 首先,我们需要了解JavaScript中的`Date`对象。`Date`对象在JavaScript中用于处理日期和时间。在JavaScript中,月份是从0...

    根据年月判断当天数

    根据年月判断当天数,通过传入的年份和月份,从而得到某年某月的天数是28天还是29天还是30天还是31天

    javascript计算当月剩余天数(天数计算器)示例代码

    最后,通过一个简单的算术运算得到这个月剩余的天数,并通过document.write()方法将结果输出到网页上。这个运算通过从数组monarr中对应当前月份的天数中减去当前日期now来计算。 以上就是JavaScript计算当月剩余...

    Labview 日期时间标识间隔计算天数或小时数,指定加长日期计算

    3. 将这个数值除以86400,得到天数。 对于D1基础上加5天的计算,步骤如下: 1. 创建一个双精度数值节点,填入5*86400,表示5天的秒数。 2. 将这个数值与D1的时间戳相加,得到新的时间戳,即D1加5天后的日期。 在...

    php根据年月获取当月天数及日期数组的方法

    这个函数会通过`explode`函数将日期字符串按短横线分隔,得到年份和月份。接着,我们会用条件语句判断月份并计算天数。对于2月份,我们需要额外检查是否为闰年,以确定是否有29天。 ```php function get_day($date)...

    Java程序设计:输入年份月份,得到当月的日历

    Java程序设计:输入年份月份,得到当月的日历 有详细注释 一目了然

    Javascript获取某个月的天数

    例如,如果我们传入"2023/08/0",则得到的日期是"2023/07/31"。这一点在判断二月份天数时尤其有用,因为它能自动处理闰年,无需我们手动编写代码来判断是否是闰年。 getDaysInOneMonth(year, month)方法的实现分为...

    C# 获取当前月份天数的三种方法总结

    这种方法相对较奇特,通过一系列日期操作来得到当前月份的天数。首先,我们获取当天日期(`DateTime.Today`),然后将其移到月份的第一天(`AddDays(1 - dtNow.Day)`),接着将其推进到下一个月的第一天(`AddMonths(1...

    javascript获取当月第一天和最后一天

    接着,我们通过将日期设置为0来获取上个月的最后一天,因为JavaScript会自动将超过月份总天数的日期设置为下个月的日期。最后,我们返回一个包含当月第一天和最后一天的对象。 标签“源码”和“工具”暗示了可能有...

    JAVA输入任意日期可获取当月万年历

    4. **获取月份天数**:调用`YearMonth.lengthOfMonth()`方法,得到指定月份的总天数。 5. **初始化日历布局**:创建一个二维数组来模拟日历的布局,通常日历以周为单位,一周7天。考虑到某些月份的第一天可能不在...

    EXCEL制作员工个人当月信息表.docx

    - 通过拖动单元格的右下角,可以将这个计算公式应用到整列,快速得到每个员工的实际出勤天数。 5. **表格完善**: - 最后,需要完善表格的格式,包括设置字体、字号、边框线以及调整单元格宽度,以提高可读性和...

    获取当月的第一天和最后一天

    例如,我们可以获取当前日期,添加或减少天数,或者获取星期几: ```javascript function addDays(date, days) { date.setDate(date.getDate() + days); return date; } function getWeekday(date) { return ...

    MSSQL判断任意时间是某月的第几周

    `DATEDIFF(mm, 0, @day)`计算的是输入日期与该月的第一天之间的月份数差,然后`DATEADD`将这个差值加到1900年1月1日(SQL Server中的日期零点)上,得到当月的第一天。 2. `@dayofweek`使用`DATENAME`函数获取输入...

    ABAP常用日期函数总结.doc

    该函数可以获得所有的月和名字,该函数可以用于计算当月的销售额、计算当月的工作天数等。 13.F4_DATE函数:弹出一个窗口显示一个日历允许用户选择一个日期 该函数可以弹出一个窗口显示一个日历,允许用户选择一个...

    万年历,输入年份月份,输出当月日历

    3. **计算月份天数**:不同月份的天数取决于是否为二月及是否是闰年。非二月的月份天数固定,而二月在平年有28天,在闰年有29天。我们可以根据闰年判断结果来确定。 4. **日期转换**:将用户输入的年月转换为日期...

    Oracle 获得某日期属于该前月中的第几个自然周

    5. 然后,我们可以计算目标日期与该月第一个周一之间的天数,并除以7得到自然周数。余数表示在该周内的天数。 6. 最后,加上1(因为我们的计数是从1开始的,而非0)即可得到结果。 这里提供一个示例函数的代码片段...

    PHP 根据时间区间计算请假时长

    // 地板除法得到整数天数 $minutesDiff %= 1440; // 取余数得到剩余的分钟数 } return array( 'days' => $daysDiff, 'minutes' => $minutesDiff ); } // 使用示例 $startTimestamp = strtotime('2022-01-01...

Global site tag (gtag.js) - Google Analytics