如何用SQL以类似获取学期末日期的方法获取半年第一天?
获取半年第一天的SQL查询
可以用和你现有查询逻辑一致的方法来实现,直接调整DATEADD的参数即可:
SELECT DATEADD(quarter, DATEDIFF(quarter, 0, @mydate) / 2 * 2, 0)
逻辑解释
DATEDIFF(quarter, 0, @mydate):计算从基准日期1900-01-01到目标日期@mydate的季度总数/ 2 * 2:通过整数除法舍去余数,得到当前半年的起始季度序号(1-6月对应偶数季度序号,7-12月对应下一组偶数序号)DATEADD(quarter, ..., 0):将计算出的起始季度数加到基准日期1900-01-01上,直接得到对应半年的第一天
验证示例
- 当
@mydate = '2024-03-05'时,返回2024-01-01 - 当
@mydate = '2024-11-15'时,返回2024-07-01
内容的提问来源于stack exchange,提问作者Chin
相关产品推荐
相关产品推荐

