在我的一個表中,我有datetime字段,其中表格列中的數據填充了類似「2016-01-07 01:33:00
」之類的字段。如何將現有日期更新爲範圍內的隨機日期?
我想要做的是改變ONLY不改變時間日期的範圍(ie: 2016-02-01 thru 2016-02-28
)內的隨機日期。最終結果可能是「2016-02-13 01:33:00
」。
什麼mysql命令 string會完成這個任務嗎?
在我的一個表中,我有datetime字段,其中表格列中的數據填充了類似「2016-01-07 01:33:00
」之類的字段。如何將現有日期更新爲範圍內的隨機日期?
我想要做的是改變ONLY不改變時間日期的範圍(ie: 2016-02-01 thru 2016-02-28
)內的隨機日期。最終結果可能是「2016-02-13 01:33:00
」。
什麼mysql命令 string會完成這個任務嗎?
喜歡的東西
UPDATE someTable SET someDate = DATE_ADD(
someDate,
INTERVAL
DATEDIFF(rangeStart, someDate) +
ROUND(RAND()*DATEDIFF(rangeEnd, rangeStart))
DAY
);
其中someTable.someDate
是現有數據,和rangeStart
和rangeEnd
是的邊界的目標日期範圍。
這裏您將初始日期添加到足夠的天數以達到範圍起點,然後再添加一個不超過您的目標範圍內的天數的隨機天數。
在MSSQL中則可能是:
選擇DATEADD(天,投((RAND()* 30)爲INT),GETDATE())
替代GETDATE()與您輸入日期。 (RAND()* 30)用來隨機生成的天數高達30
完美。謝謝 – Alby