sql - 小时、月份等的开始

新手上路,请多包涵

我知道如何在 SQL (SQL Server) 中获取当前日期,但是在一天的开始时:

 select dateadd(DAY, datediff(day, 0, getdate()),0)
(result:2009-09-17 00:00:00.000)

我需要(在 SQL 中)在这一小时开始时获取当前日期。例如:2009-09-17 17:00:00(我不关心确切的格式)

我需要 获取当前日期,但要在本月初:例如:2009-09-01 00:00:00.000(我不关心确切的格式)

你能帮助我吗?提前致谢

原文由 Hagai L 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 720
2 个回答

只需调整您当前的一天开始代码!

你想要的只是月的开始,小时的开始。它只是一样…

 select dateadd(month, datediff(month, 0, getdate()),0)

select dateadd(hour, datediff(hour, 0, getdate()),0)

原文由 gbn 发布,翻译遵循 CC BY-SA 2.5 许可协议

最短的是: CAST(CURRENT_TIMESTAMP AS DATE)

原文由 Javasick 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进