Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 计算两个日期之间的年差,0年为1年_Mysql_Intervals_Timestampdiff - Fatal编程技术网

Mysql 计算两个日期之间的年差,0年为1年

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 结果:

我有两个日期要比较,所以我可以计算两个日期之间的年份。如果天数小于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
结果:

我想要的是:

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

是的。我不知道你可以在那里再加一个
间隔。非常感谢。是的。我不知道你可以在那里再加一个
间隔。非常感谢你。