sql - SQL - 将日期移至 48 小时窗口内
问题描述
我有一堆历史时间戳日期。基本上,我需要模拟一个新日期,以便将历史日期移至当前日期的 48 小时窗口内。
这是日期列的摘录:
2019-05-07 17:46:57.733 UTC
2019-05-15 13:03:25.247 UTC
2019-05-07 13:27:49.453 UTC
2019-05-11 04:24:02.293 UTC
2019-04-18 08:00:54.660 UTC
2019-04-25 05:34:36.777 UTC
2019-05-14 16:48:07.863 UTC
假设当前日期为2019-10-03 15:00:00
. 预期的日期范围应介于2019-10-03 15:00:00
和2019-10-01 15:00:00
预期的结果应该如下。
2019-10-02 17:46:57.733 UTC
2019-10-03 13:03:25.247 UTC
2019-10-03 13:27:49.453 UTC
2019-10-03 04:24:02.293 UTC
2019-10-02 08:00:54.660 UTC
2019-10-02 05:34:36.777 UTC
2019-10-01 16:48:07.863 UTC
解决方案
为什么不直接构建两天的随机时间戳呢?
select timestamp_add(current_timestamp, interval cast(rand() * (60 * 60 * 24 * 2) as int64) second)
from t
推荐阅读
- unity3d - 当我在 Unity 2D 中触摸其中一个时,两个不同的 Raycast 2D 同时击中
- powershell - 删除所有包含字符串/值的注册表
- angular - 访问值以响应http请求而不会出错?
- c# - TextBox 绑定到属性后忽略格式字符串
- design-patterns - 工人的设计模式选择
- python - 从 Python 到 Arduino 的串行通信故障排除
- c++ - Delete the row in 2d vector
- typescript - 如何修复 foreach 循环中无法读取属性错误
- sql - Django SQL 查询计数
- python - 在比较 Python 中的两个数组时做一些动作