SQLite计算日期差值(年)返回NULL问题求助
问题解决:日期差值计算返回NULL的修复
你的SQL语句返回NULL的核心问题是给字段名加了单引号——JulianDay('Chk_date1')里的单引号会让数据库把Chk_date1当成普通字符串,而不是读取employee表中对应的日期字段值,自然无法计算出有效结果。
修正后的SQL语句
Select round((JulianDay(Chk_date1) - JulianDay(HireDate))/365.25) AS TimewithCo from employee;
说明
- 去掉字段名的单引号,让
JulianDay函数正确读取表中的日期字段 - 通过儒略日差值除以365.25(兼顾闰年的平均年长度),再用
round取整,得到两个日期的年份差值 - 用你的测试数据验证:第一行
2011-06-17到2022-06-01的差值约为3978天,除以365.25后≈10.89,取整后得到11,符合实际任职时长的预期
内容的提问来源于stack exchange,提问作者NewlearnerB
相关产品推荐
相关产品推荐

