7 месяцев назад
Доброго утра и отличного дня🔥🔥🔥 #сводка 30.03 06:00 UTC +3ч (29.03 08:00 UTC +3ч) Near 📉 7,06 $ (- 0,1%) Uwon 📈 4,67$ (+ 5,8%) Ton 📈 5,01 $ (+ 3%) Btc 📉 69 952 $ (- 0,7%) Eth 📉 3 507 $ (- 1,8%) Usdt 📈 92,36 ₽ (+ 0,1%) Usdt 📈 3,25 byb (+ 0,3%) Флор Notcoin (ваучер) 📉 0,78 ton (- 0,04 ton) 🔥«В конечном итоге всё будет хорошо. Если пока не хорошо, значит, это ещё не конец»🔥 📍 Пауло Коэльо 📍 Всем удачи🍀 P.s. Жду ваших реакций👀😄 Чат❤️: https://t.me/crypto_foma_chat *Ответственность
7 месяцев назад
💡Ответ💡 Правильные варианты - со 2 по 7. При конвертации UTC -> UTC+3 добавляется 3ч ко всем строкам, поэтому период начинается с 21:00 (UTC) = 00:00 (UTC+3) и заканчивается тоже в 21:00, потому что в between самое крайнее время - это не конец дня, а начало дня: --это одинаковые условия BETWEEN '2024-02-24' AND '2024-02-25' BETWEEN '2024-02-24 00:00:00' AND '2024-02-25 00:00:00' Зачем? 🍊Как-то раз мне нужно было проверить, долетают ли данные из одной системы в другую. Но каунты тотально не сходились. Потом я увидела, что день начинался в 21:00 предыдущего дня и заканчивался в 20:59 текущего. Так, разница в 3 часа, значит, связано с конвертацией дат в UTC - но это было не совсем так! 😜Много времени на выяснение обстоятельств, а суть заключалась в использовании идешки. Я работала в DBeaver, а когда написала тот же запрос в PyCharm - даты отображались корректно, с 00:00 до 23:59. Возможно, во всем виноваты настройки, но так и не получилось с ними разобраться. PyCharm люблю всей душой👩‍💻 Код потестить (ClickHouse):CREATE TABLE dates ( `datetime` datetime('UTC') ) ENGINE = MergeTree() ORDER BY datetime; INSERT INTO dates VALUES ('2024-02-23 20:59:00'), ('2024-02-23 21:00:00'), ('2024-02-23 23:59:00'), ('2024-02-24 00:00:00'), ('2024-02-24 02:59:00'), ('2024-02-24 20:59:00'), ('2024-02-24 21:00:00'), ('2024-02-24 22:00:00'), ('2024-02-25 00:00:00'), ('2024-02-25 02:59:00'); SELECT toDateTime(`datetime`, 'Europe/Moscow'), CASE WHEN toDateTime(`datetime`, 'Europe/Moscow') BETWEEN '2024-02-24' AND '2024-02-25' THEN 1 ELSE 0 END AS flag FROM dates ORDER BY 1;