0

我有一个名为Hotel. 因为我有以下字段ID,,,,hotelNameAddressYearOfEstablishment

YearOfEstablishmentis 类型,Date它将日期存储为2010-12-26. 我需要做的是找出日期之间的差异,其SQL如下;

SELECT DATEDIFF('2011-08-08','2010-07-26');

上述查询的答案将以天为单位给出,例如两个日期之间的差异可能是120天,我需要在Years. 喜欢将值120除以365并给出年数。我如何为此编写 SQL 语句?

2.) 现在我需要编写另一个 SQL,它将显示所有Hotel表列和Year difference values(如上所述)。我如何为此编写SQL?

(我正在使用 MySQL)

4

3 回答 3

1
  1. SELECT DATEDIFF('2011-08-08','2010-07-26') / 365;
  2. SELECT ID,hotelName,Address,YearOfEstablishment, DATEDIFF(YearOfEstablishment,'2010-07-26') / 365 AS years FROM Hotel;

但是,一定要知道平均一年有 365.2425 天

如果您的参考日期时间是现在,只需使用NOW(): SELECT DATEDIFF('2011-08-08',NOW()) / 365;

于 2011-08-03T21:51:21.947 回答
1

您应该能够使用这样的查询:

SELECT ID, hotelName, Address, YearOfEstablishment, (DATEDIFF(YearOfEstablishment, '2010-07-26')/365) AS differenceInYears
于 2011-08-03T21:54:18.343 回答
0

试试这个

SELECT MOD (DATEDIFF('2011-08-08','2010-07-26'), 365) ;

于 2011-08-03T21:50:36.923 回答