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

如何在SQLite中将日期转换为朱利安日期(非儒略日数)

实现SQLite中YYYY-MM-DD日期转5位朱利安日期(YYDDD)

我明白你要的是那种由年份后两位+年内第几天组成的5位朱利安日期(比如19175),而不是julianday()返回的连续儒略日数值。其实用SQLite内置的strftime()函数就能直接搞定,完全不用绕弯子。

核心SQL语句

直接通过格式符拼接就能得到你要的结果:

SELECT strftime('%y%j', your_date_column) AS julian_yyddd
FROM your_table;

格式符说明

  • %y:提取日期的年份后两位(比如2019年返回'19')
  • %j:提取该日期在当年的第几天,自动补零为三位数字(比如6月24日是当年第175天,返回'175')
  • 两者拼接后正好是你需要的5位格式:YYDDD

测试示例

执行这条语句验证效果:

SELECT strftime('%y%j', '2019-06-24');

返回结果就是'19175',完全符合你的预期。

可选优化:转为数值类型

如果需要将结果从字符串转为整数类型,可以用CAST()转换:

SELECT CAST(strftime('%y%j', your_date_column) AS INTEGER) AS julian_yyddd
FROM your_table;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:28:02