2017-02-09 79 views
0

我嘗試這樣做:如何隨機生成特定的日期之間的日期在MySQL

SELECT TIMESTAMPADD(SECOND, FLOOR(RAND() * TIMESTAMPDIFF(SECOND, 2017-01-01', '2017-02-01 ';)), 2017-01-01); 

我要生成隨機從本月1日至今,以30

+1

[MySQL中插入/更新隨機日期](http://stackoverflow.com/questions/4546111/insert-update-random-date-in-mysql) – madshvero

+0

有這麼多問題的可能的複製在這個片段中,從不匹配的單引號(''')到沒有'FROM'子句等等。 – roberto06

+0

@Muhammad可能你必須這樣寫。 'SELECT TIMESTAMPADD(SECOND,FLOOR(RAND()* TIMESTAMPDIFF(SECOND,'2013-01-07','2013-12-24')),'2013-01-07')' – Manish

回答

0

試試這個

SELECT TIMESTAMPADD(SECOND, FLOOR(RAND() * TIMESTAMPDIFF(SECOND, '2013-01-07', '2013-12-24 ')), '2013-01-07') 
0
SELECT DATE_FORMAT(FROM_UNIXTIME(
ROUND((RAND() * (UNIX_TIMESTAMP('2013-12-24')-UNIX_TIMESTAMP('2013-01-07')))+UNIX_TIMESTAMP('2013-01-07')) 
),'%Y-%m-%d') 

對於第一個UNIX_TIMESTAMP()功能,請使用較高的日期,對於第二個和第三個UNIX_TIMESTAMP()功能,請使用lo更新日期。

0

在MS SQL:

DECLARE @StartDT DATE = '2017年1月1日' ,@EndDT DATE = '2017年1月31日'

SELECT DATEADD(DAY,NBR - 1, @StartDT) FROM(SELECT ROW_NUMBER()OVER(ORDER BY c.object_id)AS樹木包 FROM SYS.COLUMNSç )NBRS WHERE NBR - 1 < = DATEDIFF(DAY,@StartDT,@EndDT)

+0

隨機日期請在MySql中嘗試這樣的事情 –

0

以及我認爲這是解決方案

 SELECT '2017-01-01' + INTERVAL ROUND(RAND() * (30-1) + 1) DAY

相關問題