计算以0年为1年的2个日期之间的年差
Calculate year difference between 2 dates with 0 year as 1 year
我有 2 个日期要比较,所以我可以计算两个日期之间的年数。如果天数少于 365 天,那么我使用 interval
将其设为 1 年。但是,如果两个日期在一天中相似,我会遇到问题,例如 2019-10-15
到 2020-10-15
将显示为 2 年,而我希望它显示为 1 年。这是我的代码,但不是我想要的结果:
SELECT
TIMESTAMPDIFF(
YEAR,
'2019-10-15',
'2020-10-15' + INTERVAL 1 YEAR
) AS `year`
FROM
dob
结果:
我想要的是:
2019-10-15
到 2020-10-14
= 1 year
2019-10-15
到 2020-10-15
= 1 year
2019-10-15
到 2020-10-16
= 2 year
我怎样才能做到这一点?提前致谢。
这是否符合您的要求?看来您距离预期输出只有一天,所以我只减去一天。
SELECT
TIMESTAMPDIFF
( YEAR, '2019-10-15',
'2020-10-15'
+ INTERVAL 1 YEAR
- INTERVAL 1 DAY )
AS `year`
FROM dob
我有 2 个日期要比较,所以我可以计算两个日期之间的年数。如果天数少于 365 天,那么我使用 interval
将其设为 1 年。但是,如果两个日期在一天中相似,我会遇到问题,例如 2019-10-15
到 2020-10-15
将显示为 2 年,而我希望它显示为 1 年。这是我的代码,但不是我想要的结果:
SELECT
TIMESTAMPDIFF(
YEAR,
'2019-10-15',
'2020-10-15' + INTERVAL 1 YEAR
) AS `year`
FROM
dob
结果:
我想要的是:
2019-10-15
到 2020-10-14
= 1 year
2019-10-15
到 2020-10-15
= 1 year
2019-10-15
到 2020-10-16
= 2 year
我怎样才能做到这一点?提前致谢。
这是否符合您的要求?看来您距离预期输出只有一天,所以我只减去一天。
SELECT
TIMESTAMPDIFF
( YEAR, '2019-10-15',
'2020-10-15'
+ INTERVAL 1 YEAR
- INTERVAL 1 DAY )
AS `year`
FROM dob