You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server中如何去除儒略日期查询结果的年份部分

获取仅包含年积日的SQL查询方法

嗨,这事儿很简单,有几种实用的方法能满足你只获取年积日的需求:

最直接的原生方法

其实datepart(DY, GETDATE())本身就会直接返回当前日期的年积日(也就是一年中的第几天),完全不需要先和年份相乘再处理,直接用这个就行:

SELECT datepart(DY, GETDATE()) as JulianDay

当你在2018年4月17日执行这条语句时,会直接得到你想要的107。

如果已有拼接后的数值结果(比如2018107),提取年积日的方法

要是你已经有了像2018107这样的拼接数值,想从中提取后三位的年积日,也有两种简单方式:

  • 取模运算:利用数值对1000取模,直接得到后三位:
SELECT (datepart(year, GETDATE()) * 1000 + datepart(DY, GETDATE())) % 1000 as JulianDay
  • 字符串截取:先把数值转为字符串,再截取最后三位:
SELECT RIGHT(CONVERT(varchar, datepart(year, GETDATE()) * 1000 + datepart(DY, GETDATE())), 3) as JulianDay

不过更推荐第一种直接调用datepart(DY, GETDATE())的方式,既简洁又高效,不需要额外的运算或类型转换~

内容的提问来源于stack exchange,提问作者AJ Moquete

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:17:35