我想在SQLServer里面得到某年某月有多少天,有这样的函数吗?谢谢

Iris 2003-09-13 09:42:52
我想在SQLServer里面得到某年某月有多少天,有这样的函数吗?谢谢
...全文
87 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujohny 2003-09-14
  • 打赏
  • 举报
回复
下面这个函数就可以了
CREATE FUNCTION 返回月天数(@YY CHAR(4), @MM CHAR(2))
RETURNS INT
AS
BEGIN
DECLARE @Riqi DATETIME,@I INT
SET @MM=CONVERT(CHAR(2),CONVERT(INT,@MM)+1)
SET @Riqi = dateadd(day,-1,CONVERT(DATETIME,@YY+'-'+@MM+'-01'))
SET @I =CAST(datepart(day,@Riqi) AS INT)
return @I
END


调用例子:
select dbo.返回月天数('2003','8') 结果31
select dbo.返回月天数('2003','2') 结果28
aierong 2003-09-14
  • 打赏
  • 举报
回复



DATEDIFF
返回跨两个指定日期的日期和时间边界数。

语法
DATEDIFF ( datepart , startdate , enddate )


例如:求今年2月份有多少天
1.
declare @t smalldatetime
select @t='2003-2-01'
select datediff(day,@t,dateadd(Month,1,@t)) as 该月有



2.
select day(dateadd(day,-1,dateadd(mm,1,'20030201')))
yoki 2003-09-13
  • 打赏
  • 举报
回复
可以参考
datediff和datepart这两个函数
qianguob 2003-09-13
  • 打赏
  • 举报
回复
没有可以自己写了。
mib3000 2003-09-13
  • 打赏
  • 举报
回复
利用DATEDIFF ( datepart , startdate , enddate )可以

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧