我想通知用户服务器正在进行维护,并向他们提供维护完成之前的剩余时间。但是,我在 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';