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

如何在SQLite3中查询datetime字段时仅提取返回年份值

SQLite 直接提取REAL类型datetime字段年份的方法

你存为REAL类型的datetime值如果是SQLite标准的Julian Day格式(即通过julianday()函数写入的时间值),直接用内置的strftime()函数就能直接提取年份,不需要先取出完整日期再做二次处理。

  • 基础写法(返回字符串格式的年份,比如'2021'):
SELECT strftime('%Y', <你的datetime字段名>) FROM <你的表名>;
  • 如果你需要返回整数类型的年份值(直接返回数值2021),有两种简便写法:
-- 写法1:显式类型转换
SELECT CAST(strftime('%Y', <你的datetime字段名>) AS INTEGER) AS year FROM <你的表名>;

-- 写法2:利用SQLite隐式类型转换,写法更短
SELECT strftime('%Y', <你的datetime字段名>) + 0 AS year FROM <你的表名>;

特殊场景适配

如果你字段里存的REAL值不是Julian Day,而是秒级Unix时间戳(比如1609459200.0对应2021-01-01 00:00:00 UTC),只要在strftime()里加unixepoch修饰符即可:

SELECT strftime('%Y', <你的datetime字段名>, 'unixepoch') + 0 AS year FROM <你的表名>;

说明:SQLite内置的所有日期时间函数都可以自动识别支持的时间存储格式(TEXT/REAL/INTEGER),不需要额外手动做格式转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 16:09:21