在 SQL Server 2008 R2 中选择当前月份日期的最佳方法是什么

发布于 2024-12-11 16:03:25 字数 343 浏览 0 评论 0原文

可能的重复:
使用a获取两个日期之间的日期列表功能

我需要得到结果,因为

1/01/2011
2/01/2011
3/01/2011
4/01/2011
5/01/2011
.
.
.
31/01/2011

我不想为此创建一个表。只是想得到这个结果。

Possible Duplicate:
Get a list of dates between two dates using a function

I need to get the result as

1/01/2011
2/01/2011
3/01/2011
4/01/2011
5/01/2011
.
.
.
31/01/2011

I don't want to create a table for this. just want to get this result.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情独悲 2024-12-18 16:03:25

试试这个:

  DECLARE @startDate DATETIME;
  SET @startDate = CAST(DATEPART(YYYY,GETDATE()) AS VARCHAR(4)) + CAST(DATEPART(M,GETDATE()) AS VARCHAR(2)) + '01';

  ;WITH CTE(n) AS
  (SELECT 0 UNION ALL SELECT n+1 FROM CTE WHERE n < 30)
  SELECT    DATEADD(dd,n,@startDate)
  FROM  CTE
  WHERE MONTH(DATEADD(dd,n,@startDate)) = MONTH(@startDate);

Try this :

  DECLARE @startDate DATETIME;
  SET @startDate = CAST(DATEPART(YYYY,GETDATE()) AS VARCHAR(4)) + CAST(DATEPART(M,GETDATE()) AS VARCHAR(2)) + '01';

  ;WITH CTE(n) AS
  (SELECT 0 UNION ALL SELECT n+1 FROM CTE WHERE n < 30)
  SELECT    DATEADD(dd,n,@startDate)
  FROM  CTE
  WHERE MONTH(DATEADD(dd,n,@startDate)) = MONTH(@startDate);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文