Maison  >  Questions et réponses  >  le corps du texte

Pourquoi TIMESTAMPDIFF renvoie-t-il toujours null ?

Je souhaite informer les utilisateurs que le serveur est en maintenance et leur indiquer le temps restant jusqu'à ce que la maintenance soit terminée. Cependant, j'ai des problèmes avec la requête MySQL.

Voici la requête que j'utilise :

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'

Malheureusement, la requête renvoie toujours null.

La structure du tableau et les données sont ci-dessous pour votre référence.

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
CLÉ_ VALEUR_ {"END_DATE":"2021-01-0723:46:53"}
Entretien

Pouvez-vous m'aider à comprendre ce que j'ai pu manquer ?

Merci d'avance.

P粉795311321P粉795311321404 Il y a quelques jours661

répondre à tous(1)je répondrai

  • P粉156983446

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

    Résolu.

    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';

    répondre
    0
  • Annulerrépondre