我提出了这样的质疑。 除了白天,他们都算对了。 我该怎么修好呢?
SELECT IF(TIMESTAMPDIFF(YEAR, '2017-10-13 16:57:27', NOW()) > 0,
CONCAT(
TIMESTAMPDIFF(YEAR, '2011-01-19 16:57:27', NOW()), ' yıl ',
MOD(TIMESTAMPDIFF(MONTH, '2011-01-19 16:57:27', NOW()), 12), ' ay ',
FLOOR(MOD(TIMESTAMPDIFF(DAY, '2011-01-19 16:57:27', NOW()), 30.4375)), ' gün ',
MOD(TIMESTAMPDIFF(HOUR, '2011-01-19 16:57:27', NOW()), 24), ' saat ',
MOD(TIMESTAMPDIFF(MINUTE, '2011-01-19 16:57:27', NOW()), 60), ' dakika ',
MOD(TIMESTAMPDIFF(SECOND, '2011-01-19 16:57:27', NOW()), 60), ' saniye'
),
IF(MOD(TIMESTAMPDIFF(MONTH, '2011-01-19 16:57:27', NOW()), 12) > 0,
CONCAT(
MOD(TIMESTAMPDIFF(MONTH, '2011-01-19 16:57:27', NOW()), 12), ' ay ',
FLOOR(MOD(TIMESTAMPDIFF(DAY, '2011-01-19 16:57:27', NOW()), 30.4375)), ' gün ',
MOD(TIMESTAMPDIFF(HOUR, '2011-01-19 16:57:27', NOW()), 24), ' saat ',
MOD(TIMESTAMPDIFF(MINUTE, '2011-01-19 16:57:27', NOW()), 60), ' dakika ',
MOD(TIMESTAMPDIFF(SECOND, '2011-01-19 16:57:27', NOW()), 60), ' saniye'
),
IF(FLOOR(MOD(TIMESTAMPDIFF(DAY, '2011-01-19 16:57:27', NOW()), 30.4375)) > 0,
CONCAT(
FLOOR(MOD(TIMESTAMPDIFF(DAY, '2011-01-19 16:57:27', NOW()), 30.4375)), ' gün ',
MOD(TIMESTAMPDIFF(HOUR, '2011-01-19 16:57:27', NOW()), 24), ' saat ',
MOD(TIMESTAMPDIFF(MINUTE, '2011-01-19 16:57:27', NOW()), 60), ' dakika ',
MOD(TIMESTAMPDIFF(SECOND, '2011-01-19 16:57:27', NOW()), 60), ' saniye'
),
IF(MOD(TIMESTAMPDIFF(HOUR, '2011-01-19 16:57:27', NOW()), 24) > 0,
CONCAT(
MOD(TIMESTAMPDIFF(HOUR, '2011-01-19 16:57:27', NOW()), 24), ' saat ',
MOD(TIMESTAMPDIFF(MINUTE, '2011-01-19 16:57:27', NOW()), 60), ' dakika ',
MOD(TIMESTAMPDIFF(SECOND, '2011-01-19 16:57:27', NOW()), 60), ' saniye'
),
IF(MOD(TIMESTAMPDIFF(MINUTE, '2011-01-19 16:57:27', NOW()), 60) > 0,
CONCAT(
MOD(TIMESTAMPDIFF(MINUTE, '2011-01-19 16:57:27', NOW()), 60), ' dakika ',
MOD(TIMESTAMPDIFF(SECOND, '2011-01-19 16:57:27', NOW()), 60), ' saniye'
),
IF(MOD(TIMESTAMPDIFF(SECOND, '2011-01-19 16:57:27', NOW()), 60) > 0,
CONCAT(
MOD(TIMESTAMPDIFF(SECOND, '2011-01-19 16:57:27', NOW()), 60), ' saniye'
),
'Yok'))))))
AS time
产出:9 Yiel 4 ay 28 Gün 18 saat 6 dakika 13 saniye
预计:9 Yiel 4 ay 29 Gün 18 saat 6 dakika 13 saniye
SET @start = '2011-01-19 16:57:27';
SET @finish = CURRENT_TIMESTAMP;
SELECT TIMESTAMPDIFF(YEAR, @start, @finish) diff_years,
TIMESTAMPDIFF(MONTH, @start + INTERVAL TIMESTAMPDIFF(YEAR, @start, @finish) YEAR, @finish) diff_months,
TIMESTAMPDIFF(DAY, @start + INTERVAL TIMESTAMPDIFF(MONTH, @start, @finish) MONTH, @finish) diff_days,
TIMESTAMPDIFF(HOUR, @start + INTERVAL TIMESTAMPDIFF(DAY, @start, @finish) DAY, @finish) diff_hours,
TIMESTAMPDIFF(MINUTE, @start + INTERVAL TIMESTAMPDIFF(HOUR, @start, @finish) HOUR, @finish) diff_minutes,
TIMESTAMPDIFF(SECOND, @start + INTERVAL TIMESTAMPDIFF(MINUTE, @start, @finish) MINUTE, @finish) diff_seconds
;