Warum gibt TIMESTAMPDIFF immer null zurück?
P粉795311321
P粉795311321 2023-09-11 23:45:20
0
1
683

Ich möchte Benutzer darüber informieren, dass der Server gewartet wird, und ihnen die verbleibende Zeit bis zum Abschluss der Wartung mitteilen. Allerdings habe ich Probleme mit der MySQL-Abfrage.

Dies ist die Abfrage, die ich verwende:

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'

Leider gibt die Abfrage immer null zurück.

Die Tabellenstruktur und Daten finden Sie unten als Referenz.

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_ WERT_ {"END_DATE":"2021-01-0723:46:53"}
Wartung

Können Sie mir helfen herauszufinden, was ich möglicherweise übersehen habe?

Vielen Dank im Voraus.

P粉795311321
P粉795311321

Antworte allen(1)
P粉156983446

已解决。

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';
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage