Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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从马身上确定人类年数(乘以3)_Mysql_Date - Fatal编程技术网

MySQL从马身上确定人类年数(乘以3)

MySQL从马身上确定人类年数(乘以3),mysql,date,Mysql,Date,对不起,我已经找遍了所有的线索,一直试到我的大脑受伤,但我必须寻求帮助 我有一张名为“马”的桌子,上面有Id、姓名、出生(仅限年份)、颜色和死亡 我需要返回已经死亡的马的年龄,然后乘以3得到人类年数,并显示马的ID、名称和人类年数 我被困在第一个障碍上。我弄不到那张桌子来还马 我正在使用另一个SO用户的建议 选择DATEDIFF(horse.born,'2012')/365.25作为人年 但是,它返回Null 还尝试了宵禁: CURDATE(“%Y%”)-出生时为人年 从马 不好。有什么提示吗?

对不起,我已经找遍了所有的线索,一直试到我的大脑受伤,但我必须寻求帮助

我有一张名为“马”的桌子,上面有Id、姓名、出生(仅限年份)、颜色和死亡

我需要返回已经死亡的马的年龄,然后乘以3得到人类年数,并显示马的ID、名称和人类年数

我被困在第一个障碍上。我弄不到那张桌子来还马

我正在使用另一个SO用户的建议

选择DATEDIFF(horse.born,'2012')/365.25作为人年

但是,它返回Null

还尝试了宵禁:

CURDATE(“%Y%”)-出生时为人年 从马


不好。有什么提示吗?

以下假设出生是“int”,死亡是“date”:

select (Year(died)-born) * 3 from horse where died is not null

(此外,由于所有赛马都被视为在1月1日出生,分数年可以忽略)。

如果您的列
born
只包含一年(大概是整数?),您将无法对其进行日期计算。而且你很可能会遇到像
Human Years
这样有空格的列名的麻烦。或者这是一个打字错误

无论如何,请尝试以下方法:

SELECT Id, Name, (YEAR(CURDATE()) - Born) * 3 AS Human_Years
  FROM horse
  WHERE Died IS NOT NULL
SELECT Id, Name,
  (DATEDIFF(Died, STR_TO_DATE(CONCAT(Born, "-08-01"),"%Y-%m-%d")/365.25 * 3 AS Human_Years
  FROM horse
  WHERE Died IS NOT NULL
或者,
死亡
是一个日期字段?在这种情况下,您可能需要以下内容:

SELECT Id, Name, (YEAR(CURDATE()) - Born) * 3 AS Human_Years
  FROM horse
  WHERE Died IS NOT NULL
SELECT Id, Name,
  (DATEDIFF(Died, STR_TO_DATE(CONCAT(Born, "-08-01"),"%Y-%m-%d")/365.25 * 3 AS Human_Years
  FROM horse
  WHERE Died IS NOT NULL

dead
是布尔值吗?还是约会?谢谢,雷特,看起来这就是问题所在。我作为一个整数死了。谢谢你的帮助