1

重複の可能性:
MySQL でのランダムな日付の挿入/更新

日付を変更するには、mysqlでランダムに+-5日で日付を変更しますか?

UPDATE student SET date = date*(RAND()*-5,+5)
4

5 に答える 5

2

SELECT 5 + ROUND(RAND()) * -10関数と組み合わせることができる5または-5のいずれかを提供しDATE_ADD()ます。

于 2012-11-28T11:00:06.797 に答える
1

これを試して:

UPDATE `student` SET `date` = DATE_ADD(`date`, INTERVAL ((1 - ROUND((RAND()))*2)*5) DAY)
于 2012-11-28T10:56:58.143 に答える
0

次のクエリは、今から+-5日後のランダムな日付を出力します(CURDATE())

select ADDDATE(CURDATE(), INTERVAL ROUND(RAND()*10)-5 DAY)
于 2012-11-28T10:56:11.350 に答える
0

次のようなものを試してください:

select case when (RAND()*10) >= 5 then date_add(<date_col>, INTERVAL 5 DAY)
            else date_add(<date_col>, INTERVAL -5 DAY)
            end
from <your_table>

SQLFiddleデモ

次のようにテーブルを更新できます。

UPDATE student SET `date`=
 case when (RAND()*10) >= 5 then date_add(`date`, INTERVAL 5 DAY)
            else date_add(`date`, INTERVAL -5 DAY)
            end;
于 2012-11-28T10:57:18.243 に答える
0
UPDATE student SET date = ADDDATE(date, INTERVAL ROUND((rand() * 9) - 4) DAY);
于 2012-11-28T11:00:34.660 に答える