我想通知用戶伺服器正在進行維護,並向他們提供維護完成之前的剩餘時間。但是,我在 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
維護 |
您能幫我找出我可能錯過的內容嗎?
提前謝謝您。
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';