timestamp in seconds работать? Я только две функции нашел, toDateTime и FROM_UNIXTIME и все работают с секундами, а хотелось бы из миллисекунд перевести в timestamp. Получается, только на 1000 делить, стандартных функций нет?
а в чем разница ? intDiv ( , 1000 ) , можно заморочится и перевести по другому, но в реальности это не про время вообще, это про числа тип DateTime64 функции toUnixTimestamp64Milli toUnixTimestamp64Micro toUnixTimestamp64Nano fromUnixTimestamp64Milli fromUnixTimestamp64Micro fromUnixTimestamp64Nano¶
Спасибо. Да просто с приложения на андройде пишется в миллисекундах значение в базу, использовать fromUnixTimestamp64Milli будет читабельней, чем делить и потом оборачивать в FROM_UNIXTIME. В документации не нашел этих функций, видать искал плохо.
тут две проблемы. 1. В КХ два типа для времени DateTime (секунды от 1970 - UInt32) и DateTime64 (фракции секунды). Естественно второй занимает в 2 раза больше места в среднем и в 2 раза медленее. Поэтому надо решить что будем хранить. 2. ETL, когда передаете из приложения (или из ETL) время в миллисекундах вместо секунд, вы просто тратите электричество и bandwidth
Спасибо за развернутый ответ. Я вот в проде вижу, что тип у этого поля с датой Int64. Даже не беззнаковый тип. Возможно, есть смысл исправить.
Обсуждают сегодня