如何取到一个月的天数?

daimei 2003-10-15 05:29:51
如何取到一个月有几天?
...全文
101 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-10-15
  • 打赏
  • 举报
回复
to 无为

declare @d datetime
select @d='2004-3-31'
select datediff(d,@d,dateadd(m,1,@d))

你的就错了。
dgljf 2003-10-15
  • 打赏
  • 举报
回复
DECLARE @dayx SMALLDATETIME,@nextm SMALLDATETIME,@begind SMALLDATETIME,@endd SMALLDATETIME

SET @dayx= '2004/02/1'
set @nextm=DATEADD(d,31,@dayx)

SET @begind=convert(varchar,year(@dayx))+'/'+convert(varchar,month(@dayx))
+'/'+'01'
SET @endd=convert(varchar,year(@nextm))+'/'+convert(varchar,month(@nextm))
+'/'+'01'

SELECT datediff(day,@begind,@endd)
wzh1215 2003-10-15
  • 打赏
  • 举报
回复
大力的不太懂,能解释一下吗?
friendliu 2003-10-15
  • 打赏
  • 举报
回复
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

txlicenhe 2003-10-15
  • 打赏
  • 举报
回复
friendliu 2003-10-15
  • 打赏
  • 举报
回复
declare @d datetime
select @d='2003-2-4'
select datediff(d,@d,dateadd(m,1,@d))
pengdali 2003-10-15
  • 打赏
  • 举报
回复
declare @dateX smalldatetime
set @dateX = '2001-1-3'
--本月多少天
SELECT 32-Day(@datex+(32-Day(@datex)))

34,575

社区成员

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

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