Mysql 计算两个日期之间的年差,0年为1年
我有两个日期要比较,所以我可以计算两个日期之间的年份。如果天数小于365天,则我使用Mysql 计算两个日期之间的年差,0年为1年,mysql,intervals,timestampdiff,Mysql,Intervals,Timestampdiff,我有两个日期要比较,所以我可以计算两个日期之间的年份。如果天数小于365天,则我使用间隔将其设置为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 结果:
间隔
将其设置为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年
2019-10-15
至2020-10-15
=1年
2019-10-15
至2020-10-16
=2年
我怎样才能做到这一点?提前谢谢。这是你想要的吗?看起来你的预期产出只差一天,所以我只减去了一天
SELECT
TIMESTAMPDIFF
( YEAR, '2019-10-15',
'2020-10-15'
+ INTERVAL 1 YEAR
- INTERVAL 1 DAY )
AS `year`
FROM dob
这是你想要的吗?看起来你的预期产出只差一天,所以我只减去了一天
SELECT
TIMESTAMPDIFF
( YEAR, '2019-10-15',
'2020-10-15'
+ INTERVAL 1 YEAR
- INTERVAL 1 DAY )
AS `year`
FROM dob
是的。我不知道你可以在那里再加一个
间隔。非常感谢。是的。我不知道你可以在那里再加一个间隔。非常感谢你。