cari

Rumah  >  Soal Jawab  >  teks badan

Mengapakah TIMESTAMPDIFF sentiasa mengembalikan nol?

Saya ingin memberitahu pengguna bahawa pelayan sedang menjalani penyelenggaraan dan memberikan mereka masa yang tinggal sehingga penyelenggaraan selesai. Walau bagaimanapun, saya menghadapi masalah dengan pertanyaan MySQL.

Ini adalah pertanyaan yang saya gunakan:

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'

Malangnya, pertanyaan sentiasa kembali batal.

Struktur jadual dan data adalah di bawah untuk rujukan anda.

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
KUNCI_ NILAI_ {"END_DATE":"2021-01-0723:46:53"}
Penyelenggaraan

Bolehkah anda membantu saya mengetahui perkara yang mungkin saya terlepas?

Terima kasih terlebih dahulu.

P粉795311321P粉795311321470 hari yang lalu714

membalas semua(1)saya akan balas

  • P粉156983446

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

    Selesai.

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

    balas
    0
  • Batalbalas