搜尋

首頁  >  問答  >  主體

為什麼 TIMESTAMPDIFF 總是回傳 null?

我想通知用戶伺服器正在進行維護,並向他們提供維護完成之前的剩餘時間。但是,我在 MySQL 查詢中遇到了問題。

這是我使用的查詢:

SELECT TIMESTAMPDIFF(SECOND, NOW(), STR_TO_DATE(JSON_EXTRACT(VALUE_, '$.END_DATE'), '%Y-%m-%d %H:%i:%s')) AS SECONDS_LEFT FROM SETTINGS WHERE KEY_ = 'MAINTENANCE'

不幸的是,查詢總是會傳回空值。

以下是表格結構和資料供您參考。

CREATE TABLE `settings` (
  `KEY_` char(50) COLLATE utf8_unicode_ci NOT NULL,
  `VALUE_` json NOT NULL,
  UNIQUE KEY `KEY_` (`KEY_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
KEY_ VALUE_ {"END_DATE":"2021-01-0723:46:53"}
維護

您能幫我找出我可能錯過的內容嗎?

提前謝謝您。

P粉795311321P粉795311321439 天前688

全部回覆(1)我來回復

  • P粉156983446

    P粉1569834462023-09-12 21:13:06

    已解決。

    SELECT TIMESTAMPDIFF(SECOND, NOW(), STR_TO_DATE(JSON_UNQUOTE(JSON_EXTRACT(VALUE_, '$.END_DATE')), '%Y-%m-%d %H:%i:%s')) AS SECONDS_LEFT FROM SETTINGS WHERE KEY_ = 'MAINTENANCE';

    回覆
    0
  • 取消回覆